gpt4 book ai didi

sql - Postgres慢速限制查询

转载 作者:行者123 更新时间:2023-11-29 12:05:34 26 4
gpt4 key购买 nike

我在 pg 中有这个简单的查询

EXPLAIN ANALYZE 
select * from email_events
where act_owner_id = 500
order by date desc
limit 500

第一次查询执行需要很长时间,大约 7 秒。

"Limit  (cost=0.43..8792.83 rows=500 width=2311) (actual time=3.064..7282.497 rows=500 loops=1)"
" -> Index Scan Backward using email_events_idx_date on email_events (cost=0.43..233667.36 rows=13288 width=2311) (actual time=3.059..7282.094 rows=500 loops=1)"
" Filter: (act_owner_id = 500)"
" Rows Removed by Filter: 1053020"
"Total runtime: 7282.818 ms"

在第一次执行后,我猜查询被缓存并在 20-30 毫秒内完成。

为什么在没有缓存的情况下 LIMIT 这么慢?我该如何解决这个问题?

最佳答案

INDEX 上的 CLUSTER TABLE 似乎解决了这个问题。似乎在批量数据加载后,数据遍布整个硬盘驱动器。 CLUSTER 表将硬盘上的数据重新排序

关于sql - Postgres慢速限制查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21943827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com