各位老师好:
最近在迁移mysql至gauss数据库时发现小数据集结果返回效率明显高于mysql,但对于部分大数据集查询效率却明显低于mysql,且返回结果集越大差别越大,请老师给分析一下原因,是哪里设置不正确吗?
操作过程如下:
1、使用的是极简版,X86架构,CentOS7.6系统。
2、mysql使用的是社区版8.0.15,数据与gauss数据相同,约1000多万条记录,与gauss数据库为同一服务器,服务器内存为16g,空闲内存12G。
3、问题现象:如果返回的记录集小,如只有少量字段或使用limit只限制少量结果,则性能较高,随着增加结果集,性能逐渐下降。
(1)内存情况:
(2)limit 100,mysql查询结果(MySQL关联字段使用了索引):
(3)gauss查询结果(无索引)
查询计划见附件。
gauss增加索引后
增加索引后查询结果明显优于mysql:
limit增加至500
mysql:
gauss:
limit 1000
mysql
gauss
limit 3000,这时gauss已经显出性能不足了
mysql
gauss
limit 5000,gauss性能已经明显落后mysql
mysql
gauss
limit 10000,mysql遥遥领先
gauss
后面结果集越大,gauss性能越低:
请老师给看一下是哪里设置不对还是什么原因,万分感谢!
--
此致
礼
边城飘雪
电话:15631198030
QQ: 175016513
邮箱:mymb52(a)163.com