代码改变世界

MySQL的binlog_row_image和PostgreSQL的full_page_writes

2021-03-11 10:36 by abce, 467 阅读, 0 推荐, 收藏, 编辑
摘要:MySQL的binlog_row_image MySQL基于行的复制中,该变量决定了row images是如何被写入binary log的。在基于行的复制中,每一行的change事件包含两个镜像:一个“前镜像”,其列包含的是更新之前的内容;一个“后镜像”,其列包含更新之后的内容。通常,MySQL在前 阅读全文

PostgreSQL备份和还原的简单测试

2021-02-02 13:38 by abce, 232 阅读, 0 推荐, 收藏, 编辑
摘要:1.备份和还原单个数据库备份 $ pg_dump -U pogstgres -d mydb > mydb.sql 还原 $psql -U postgres -d mydb < mydb 2.备份和还原所有的数据库备份 $ pg_dumpall -U postgres > alldbs.sql 还原 阅读全文

PostgreSQL事务中的时间

2021-01-22 17:00 by abce, 498 阅读, 0 推荐, 收藏, 编辑
摘要:在同一个事务中,时间是不变的: postgres=# begin; BEGIN postgres=# select now(),current_time,current_timestamp,localtime,localtimestamp,transaction_timestamp(); now | 阅读全文

PostgreSQL的Access control lists

2021-01-22 09:24 by abce, 183 阅读, 0 推荐, 收藏, 编辑
摘要:ACL表现行式: grantee=flags/grantor 其中: ·grantee:被授予权限的角色 ·flags:字符串方式表示的权限 ·grantor:授权的用户 FlagDescriptionStatementsApplies to a append, insert new data IN 阅读全文

PostgreSQL auto_explain模块

2021-01-21 11:02 by abce, 761 阅读, 0 推荐, 收藏, 编辑
摘要:auto_explain模块提供了一种自动记录慢语句执行计划的方法,而不必手动运行EXPLAIN。这对于在大型应用程序中跟踪未优化的查询特别有帮助。 该模块不提供sql可访问的函数。要使用它,只需将它加载到服务器。你可以将它加载到一个单独的会话中: load 'auto_explain' 如果想在全 阅读全文

PostgreSQL的Event triggers

2021-01-18 14:08 by abce, 1035 阅读, 0 推荐, 收藏, 编辑
摘要:PostgreSQL中,常规触发器依附于单个表并捕获dml事件。而Event triggers是数据库全局性的,可以捕获ddl事件。与常规触发器一样,Event triggers可以用任何包含事件触发器支持的过程语言编写,也可以用C编写,但不能用纯SQL编写。 当与事件关联的事件在定义它的数据库中发 阅读全文

Inner join和Outer join一起使用的注意点

2021-01-15 09:33 by abce, 635 阅读, 1 推荐, 收藏, 编辑
摘要:发现有些开发新同学,不管遇到什么sql,都是直接left join。一直想纠正他们的这个习惯,但是没啥用,没人听。 在多表连接的单个select语句中,混合了outer join和inner join的时候,最终的结果可能并不是他们真正想要的逻辑结果。 假设有下面的表和测试数据: CREATE TA 阅读全文

PostgreSQL中的整除截断

2021-01-12 11:25 by abce, 661 阅读, 0 推荐, 收藏, 编辑
摘要:开发同学说,在自己的测试环境中,相同的数据和相同的sql,在mysql和pg中查询出来的结果却不同。问是不是他装的数据库有问题了或者sum函数用错了。 以下是测试数据: postgres=# select * from emp; empno | ename | job | mgr | hiredat 阅读全文

PostgreSQL中的not in、not exists、left join/is null

2021-01-04 16:44 by abce, 3663 阅读, 0 推荐, 收藏, 编辑
摘要:哪种方法是找出在一张表中,而不在另一张表中的记录的最佳方法呢? SELECT l.* FROM t_left l LEFT JOIN t_right r ON r.value = l.value WHERE r.value IS NULL; SELECT l.* FROM t_left l WHER 阅读全文

difference between count(1) and count(*)

2020-12-25 11:26 by abce, 214 阅读, 0 推荐, 收藏, 编辑
摘要:有些问题被问的太多次了,截几张图放着。 阅读全文
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 118 下一页