相关疑难解决方法(0)

提高讨厌的嵌套视图连接的性能

我有一个中等大小的数据库,分布在几个表上,粗略的架构是:

  • 输入数据(数据 ID、会话 ID 和一些具有统计重要性的字段)
  • 输入文件(数据 ID 和 blob)
  • 阶段 1 输出文件(数据 ID 和 blob)
  • 阶段 2 输出文件(数据 ID 和 blob)
  • 类别 1 结果(数据 ID 和一些布尔值)
  • 类别 2 结果(数据 ID 和一些整数)
  • 第 3 类结果(数据 ID 和一些整数)

每个表有大约 200,000 行。

我还有一个视图,它基本上将所有这些粘合在一起,以便我可以SELECT使用一堆 ID(通常根据会话 ID 选择它们)并在一个页面上查看所有相关数据。

该视图有效,查询计划的索引利用率似乎正常,但结果并不快:

> EXPLAIN ANALYZE SELECT(*) FROM overlay WHERE test_session=12345;

                 QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Merge Right Join  (cost=7.19..74179.49 rows=10 width=305) (actual time=10680.129..10680.494 rows=4 loops=1)
   Merge Cond: (p.data_id = d.id)
   ->  Merge Join  (cost=7.19..75077.04 rows=183718 width=234) …
Run Code Online (Sandbox Code Playgroud)

postgresql performance index join view

4
推荐指数
1
解决办法
4563
查看次数

标签 统计

index ×1

join ×1

performance ×1

postgresql ×1

view ×1