摘要:
select语句中,使用distinct关键字,在处理select list后,结果表可以选择消除重复的行。在SELECT之后直接写入DISTINCT关键字以指定此关键字: SELECT DISTINCT select_list ... (可以使用关键字ALL代替DISTINCT来指定保留所有行的默 阅读全文
随笔档案-2019年10月
PostgreSQL中的partition-wise aggregation
2019-10-10 15:07 by abce, 980 阅读, 收藏, 编辑
摘要:
partition-wise aggregation允许对每个分区分别执行的分区表进行分组或聚合。如果GROUP BY子句不包括分区键,则只能在每个分区的基础上执行部分聚合,并且必须稍后执行最终处理。由于partitionwise分组或聚合可能在计划期间占用大量CPU时间和内存,因此默认设置为关闭。 阅读全文
PostgreSQL中的partition-wise join
2019-10-10 14:09 by abce, 1146 阅读, 收藏, 编辑
摘要:
与基于继承的分区(inheritance-based partitioning)不同,PostgreSQL 10中引入的声明式分区对数据如何划分没有任何影响。PostgreSQL 11的查询优化器正准备利用这种“无推理”表示。第一个提交的是partition-wise join。什么是partiti 阅读全文
Partition-wise join
2019-10-10 13:22 by abce, 1390 阅读, 收藏, 编辑
摘要:
什么是“partition-wise join”呢?我们将用一个比喻来解释它的好处。 假设两个人,Logan和Shannon,决定住在一起。如果他们每个人都已经有了自己的住所,他们就会拥有很多你在任何家庭都能找到的普通物品。所以他们要做一个决定——是每样东西都保留两件,还是对它们的共同点进行“筛选” 阅读全文
pg执行计划分析小笔记
2019-10-09 11:42 by abce, 2233 阅读, 收藏, 编辑
摘要:
开发同事问,为什么一个标量子查询,放在where子句后进行大小判断,比不放在where子句后进行判断大小运行的更快?按道理加了一次判断,不是应该变慢么? 把语句拿过来,看了一下两个语句的执行计划: 语句1和执行计划1: 语句2和执行计划2: 从上面的执行计划看,在where之后进行大小判断后,执行时 阅读全文
ERROR: source database "template1" is being accessed by other users
2019-10-08 16:49 by abce, 2809 阅读, 收藏, 编辑
摘要:
一开始,开发童鞋说他在测试环境没有创建数据库的权限。心想,不对呀,开发环境没有怎么做权限管控,明明给予授权了。上来一看: 原来不是权限的问题! 查看一下,谁在使用template1: 将查出的pid kill掉 也可以使用一条语句,直接将使用template1的会话kill掉: 然后再执行数据库创建 阅读全文