相关疑难解决方法(0)

为什么以下Postgres SQL查询需要这么长时间?

原始查询如下

SELECT "TIME", "TRADEPRICE"
  FROM "YEAR" where "DATE"='2010-03-01' 
  and "SECURITY"='STW.AX' 
  AND "TIME" < '10:16:00' 
  AND "TYPE" = 'TRADE'
  ORDER BY "TIME" ASC LIMIT 3
Run Code Online (Sandbox Code Playgroud)

我已经建立了三个指数如下

Columns "DATE" DESC NULLS LAST
Columns "SECURITY" DESC NULLS LAST
Columns "TIME" DESC NULLS LAST
Run Code Online (Sandbox Code Playgroud)

我没有索引TYPE,因为它只接受两个可能值中的一个

解释分析产生以下内容

"Limit  (cost=50291.28..50291.28 rows=3 width=16) (actual time=1794484.566..1794484.567 rows=3 loops=1)"
"  ->  Sort  (cost=50291.28..50291.29 rows=4 width=16) (actual time=1794484.562..1794484.563 rows=3 loops=1)"
"        Sort Key: "TIME""
"        Sort Method:  top-N heapsort  Memory: 25kB"
"        ->  Bitmap Heap Scan on "YEAR"  (cost=48569.54..50291.24 rows=4 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

标签 统计

postgresql ×1

sql ×1