![]() |
1
4
缓慢的部分显然是从表中获取数据,因为索引访问似乎非常快。您可以优化RAM使用参数(请参见 http://wiki.postgresql.org/wiki/Performance_Optimization 和 http://www.varlena.com/GeneralBits/Tidbits/perf.html ),或通过发出CLUSTER命令优化表中数据的布局(请参见 http://www.postgresql.org/docs/8.3/static/sql-cluster.html ).
应该这么做。 |
![]() |
2
2
除了Daniel的回答之外,集群操作是一个一次性的过程,它重新排列了磁盘上的数据。其目的是从更少的磁盘块中获取2000个结果行。
由于这是虚拟数据,用于了解如何快速查询它,因此我建议重新加载它,以更接近生成时如何加载它的模式。我认为数据是一天一次生成的,这将有效地导致
如果没有这些,并且有随机生成的数据,您很可能需要对磁盘头执行2000次以上的查找。 我还要检查你在Windows 7上运行的其他任何东西没有给那些你不需要的读取增加时间,比如确保读取的块不包含病毒签名,或者同时执行自动计划的磁盘碎片整理(导致磁盘头几乎不可能接近上次的位置读取了数据库块)。 |
![]() |
3
0
|
![]() |
Sweepy Dodo · JSON lite的格式化 5 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 6 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 7 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 10 月前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 10 月前 |
![]() |
Mohan · 是否有一种更快的方法来编写代码,从1:N中提取许多随机样本? 10 月前 |
![]() |
user2980746 · 在C#字典中键入xyz对的最有效方法是什么? 10 月前 |