Postgres : Table partitionated 和 Normal Table, Without conditional, 哪个更快?
Postgres : Table partitionated and Normal Table, Without conditional, which one is faster?
在 Postgres 中我有一个按日期分区的 table,我知道在内部按特定日期执行范围搜索时,Postgres 只会分析来自该范围的分区。
但是,如果我不再按日期搜索而是按另一列(例如 id)搜索,会发生什么情况,它是否与正常的 seq 扫描相同table?
我还有一个问题:
如果我有两个 tables 在两个
中具有相同的信息
Normal table : users
Partition table: users_partitioned
在性能层面,哪个更快?
- select * 来自用户
- select * 来自 users_partitioned
我的目的是想知道分区的tables是否在分区中并行搜索,从而提高响应速度
分区table上的查询会稍微慢一些,因为优化器和执行器都有更多的工作要做。开销应随分区数线性增加。
将不使用并行机制,因为并行工作者发现的行必须在并行领导进程中收集,而这种开销会使并行计划效率低下。
在 Postgres 中我有一个按日期分区的 table,我知道在内部按特定日期执行范围搜索时,Postgres 只会分析来自该范围的分区。
但是,如果我不再按日期搜索而是按另一列(例如 id)搜索,会发生什么情况,它是否与正常的 seq 扫描相同table?
我还有一个问题: 如果我有两个 tables 在两个
中具有相同的信息Normal table : users
Partition table: users_partitioned
在性能层面,哪个更快?
- select * 来自用户
- select * 来自 users_partitioned
我的目的是想知道分区的tables是否在分区中并行搜索,从而提高响应速度
分区table上的查询会稍微慢一些,因为优化器和执行器都有更多的工作要做。开销应随分区数线性增加。
将不使用并行机制,因为并行工作者发现的行必须在并行领导进程中收集,而这种开销会使并行计划效率低下。