小编Tim*_*san的帖子

PostgreSQL:WHERE 子句中的 ANY (VALUES(...)) 导致速度急剧下降

好的,我之前问过一个关于大型数据集的问题,但从未得到回答,所以我决定将其删减并询问先前设置的较小子集,并简化我在新问题中尝试完成的任务 - 希望这会清楚一点。

我有一个大表 ( report_drugs),它在磁盘上有 1775 MB,包含略多于 3300 万行。餐桌布置:

    Column     |            Type             | Modifiers 
---------------+-----------------------------+-----------
 rid           | integer                     | not null
 drug          | integer                     | not null
 created       | timestamp without time zone | 
 reason        | text                        | 
 duration      | integer                     | 
 drugseq       | integer                     | 
 effectiveness | integer                     | 
Indexes:
  "report_drugs_drug_idx" btree (drug) CLUSTER
  "report_drugs_drug_rid_idx" btree (drug, rid)
  "report_drugs_reason_idx" btree (reason)
  "report_drugs_reason_rid_idx" btree (reason, rid)
  "report_drugs_rid_idx" btree (rid)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我有几个索引(并非都与这个问题相关)并且已经CLUSTERdrug列索引上编辑了表,因为这主要用于范围。VACUUM ANALYZE …

postgresql performance postgresql-9.5 query-performance

5
推荐指数
1
解决办法
2万
查看次数