Index-advisor是openGauss2.1.0中的一个工具,可以帮助用户分析数据库中的查询语句,推荐最佳的索引策略。使用Index-advisor可以提高查询性能,减少数据库的负载。
一、环境说明
- 华为云ECS 鲲鹏架构 8vCPU 32G
- 操作系统:openEuler20.03TLS
- 数据库版本:openGauss2.1.0
二、参数调优步骤
下面是利用Index-advisor实现索引推荐的具体步骤:
-
安装Index-advisor
如果不是源码安装openGauss,而是使用编译好的openGauss安装包安装,则X-Tuner是openGauss2.1.0自带的一款工具。在安装openGauss2.1.0时,X-Tuner也会被一同安装。具体安装可以参考:【基于openEuler上安装单机openGauss2.1.0企业版】
如果是源码安装,则需要单独安装Index-advisor,可参考:【基于openEuler 20.03 和openGauss2.1.0环境中安装X-Tuner】
本文是基于这种方式进行测试 -
参数调优前,使用【
omm用户】先执行TPCH脚本queries.sql(该文件是在【openGauss2.1.0 TPC-C数据导入】产生的),记录下脚本执行时间,这个过程可能需要花费十多分钟的时间,请耐心等待。[omm@sjmopengauss01 queries]$ gsql -d tpch -p 5432 -r -f /opt/software/tpch-kit/dbgen/queries/queries.sql > /opt/software/tpch-kit/dbgen/queries/queries01.log执行结束后,查看queries01.log:
tail -10 /opt/software/tpch-kit/dbgen/queries/queries01.log结果如下:
…… total time: 1190160 ms -
登录数据库
切换到【omm用户】,执行如下命令:[omm@sjmopengauss01 data]$ gsql -d tpch -p 5432 -r使用SQL查询2020年3月订单收入,并进行排序,执行结果如下:
SELECT ad.province AS province, SUM(o.actual_price) AS GMV FROM litemall_orders o, address_dimension ad, date_dimension dd WHERE o.address_key = ad.address_key AND o.add_date = dd.date_key AND dd.year = 2020 AND dd.month = 3 GROUP BY ad.province ORDER BY SUM(o.actual_price) DESC;结果如下:
province | gmv ------------------+------------- 上海市 | 13927163.00 江苏省 | 13900815.00 浙江省 | 13890720.00 天津市 | 13750598.00 北京市 | 13458554.00 山东省 | 4381747.00 重庆市 | 4172788.00 福建省 | 4005384.00 安徽省 | 3973989.00 广东省 | 3842252.00 河南省 | 1130277.00 海南省 | 1113236.00 新疆维吾尔自治区 | 1058210.00 云南省 | 1041797.00 西藏自治区 | 1040002.00 贵州省 | 1003301.00 吉林省 | 1002830.00 辽宁省 | 982522.00 宁夏回族自治区 | 885719.00 陕西省 | 863598.00 河北省 | 814762.00 广西壮族自治区 | 812580.00 黑龙江省 | 787436.00 湖北省 | 775761.00 湖南省 | 762020.00 江西省 | 753550.00 青海省 | 739701.00 甘肃省 | 734090.00 四川省 | 726917.00 内蒙古自治区 | 667131.00 山西省 | 643208.00 (31 rows)使用
explain,对该SQL加以分析:EXPLAIN SELECT ad.province AS province, SUM(o.actual_price)

文章介绍了如何在openGauss2.1.0环境中利用Index-advisor分析查询语句,推荐并创建索引,以提升查询性能。通过实例展示,展示了索引优化前后查询时间的显著减少,证明了Index-advisor的有效性。

1441

被折叠的 条评论
为什么被折叠?



