更新:
我突然想到:pgAdmin是否有可能计算的不是查询的实际时间,而是在网格中绘制结果所需的时间?
我只是使用命令行 (psql) 执行查询并将结果输出到 txt 文件中,速度非常快(最多 1-2 秒)。
在这种情况下,问题不是 postgresql / ubuntu 服务器配置;而是问题。这是显示适配器的问题。
我是对的还是寻找的方向错误?
在我运行 Arch Linux 64 位的“旧”PC(Core 2 Duo、4GB RAM、250GB SATA HD)上,我可以在 0.4ms 内运行一个简单的“SELECT * FROM sometable”查询
(我正在使用 pgAdmin 3)。数据库是 PostgreSQL 9.1(带有 PostGIS),表包含大约 60,000 行。
我已将数据库转移到一台较新的计算机(Core i5、8GB RAM、1TB Western Digital Black SATA III),相同的查询需要多达 22 秒(!!!)
较新的计算机运行 Ubuntu Server 13.04 64 位。
为了进一步测试,我将数据库复制到 Windows 7 64 位 PC(Core i5,6GB RAM),查询在大约 10 秒内运行。
这显然是一个配置问题,但我有点困惑这是 PostgreSQL 还是 Ubuntu Server 的配置问题。
我已经尝试过使用 PostgreSQL 的 conf 文件(kernel.shmmax、shared_buffers 等),但没有成功。
当然,我已经进行了 VACUUMed、VACUUM ANALYZed 并重新创建了所有索引。
有任何想法吗?我对 Ubuntu Server 的解决方案感兴趣,不太关心 Windows 7 计算机。
提前致谢,
Ebl
To get 在服务器上的执行时间无需向客户端传输数据,请使用EXPLAIN ANALYZE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)