【发布时间】:2010-08-06 02:12:08
【问题描述】:
我正在尝试优化 PostgreSQL 8.4 查询。在大大简化了原始查询之后,试图找出是什么让它选择了一个糟糕的查询计划,我到了在 EXPLAIN ANALYZE 下运行查询只需要 0.5s 的地步,而运行它通常需要 2.8s。很明显,EXPLAIN ANALYZE 向我展示的不是它通常所做的,所以无论它向我展示什么都是无用的,不是吗?这里发生了什么,我如何查看它的实际作用?
【问题讨论】:
-
查询是否返回大量数据?我的理解是
EXPLAIN ANALYZE会丢弃数据——也许您正在赢得时间,而不必通过管道或网络连接传输数据? -
大约 75,000 行,所以我不会说“很多”。当然不应该在 LAN 上花费太多时间。
-
显然,如果您要达到 100Mbps 的传输速率,则需要大约 1.3 秒(大约 16.25MB 或大约 220KB/行)的数据量
-
不,行非常小。更像是每行 50 个字节。
标签: sql postgresql sql-execution-plan