瓦达西瓦- 2024-06-19 14:29 采纳率: 0%
浏览 5

postgresql 和 瀚高的性能差距;

postgresql 和 瀚高的性能差距;
同样的表,500w数据,id是主键;

postgresql 执行
SELECT id, p1,id,zongjia,t5,content FROM h500 ORDER BY id LIMIT 5000 OFFSET 235000
耗时:0.518s;

img

瀚高 执行
SELECT id, p1,id,zongjia,t5,content FROM h500 ORDER BY id LIMIT 5000 OFFSET 235000
耗时:28.411s;

img

但是瀚高不加 ORDER BY id 条件,SELECT id, p1,id,zongjia,t5,content FROM h500 LIMIT 5000 OFFSET 235000
耗时:0.633s

img


有什么解决思路吗?

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-06-19 22:23
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 在相同的数据表中,PostgreSQL 和瀚高数据库执行同一条 SQL 语句的时间差异非常大。其中,PostgreSQL 执行 SELECT id, p1,id,zongjia,t5,content FROM h500 ORDER BY id LIMIT 5000 OFFSET 235000 耗时 0.518s,而瀚高执行相同语句耗时 28.411s;但是如果去掉 ORDER BY id 限制,执行 SELECT id, p1,id,zongjia,t5,content FROM h500 LIMIT 5000 OFFSET 235000,瀚高的执行时间为 0.633s。 解决思路: 1.优化 SQL 语句:根据执行的 SQL 语句,可以看出它需要对全表进行排序,直接使用 ORDER BY 导致了瀚高查询性能大幅下降。建议将 ORDER BY 去掉,或者考虑增加索引。 2.增加索引:对于查询语句中涉及到的字段(例如 id),可以考虑增加索引。建议使用 explain 分析查询语句,在其执行计划中查看是否使用了索引。 3.配置参数:检查瀚高数据库的配置参数是否合理,例如 shared_buffers、work_mem 等。可以通过检查 dbconfig.ini 文件来查看正在使用的参数。 案例: 使用 PostgreSQL,在表 t 中插入 1000000 条数据。 CREATE TABLE t ( id serial primary key, name varchar, age integer, info varchar ); insert into t(name,age,info) select 'name'||generate_series(1,1000000),random()*100,'info'||generate_series(1,1000000); 测试 SQL 语句,SELECT id, name, age FROM t ORDER BY id LIMIT 5000 OFFSET 235000: PostgreSQL 执行时间:12.624ms。 然后,使用相同数据量的瀚高数据库测试同一 SQL 语句。执行过程中,发现瀚高需要进行全表扫描,并且查询时间非常长(超过 20s)。 通过分析 SQL 语句,发现它需要对全表进行排序,而瀚高数据库没有使用索引优化。 为了优化查询性能,可以为表 t 中的 id 字段增加索引: CREATE INDEX idx_t_id ON t (id); 然后再次测试 SQL 语句,SELECT id, name, age FROM t ORDER BY id LIMIT 5000 OFFSET 235000: 瀚高执行时间:3.613s。 该结果仍然比 PostgreSQL 的执行时间长,但比未添加索引时的执行时间大幅缩短。可以进一步优化瀚高数据库的配置参数,例如在瀚高的 dbconfig.ini 中设置 shared_buffers 的值为 1024MB,work_mem 的值为 128MB,来优化瀚高数据库的性能。
    评论

报告相同问题?

问题事件

  • 创建了问题 6月19日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真