【MySQL运维】使用SQLAdvisor工具优化索引

TangLu MySQL 2021-08-04 1254 0

SQLAdvisor是美团开源的一款索引优化建议工具,根据分析SQL中的where条件、聚合条件、多表join等给出优化建议。下面是SQLAdvisor的安装与使用步骤:

1、下载SQLAdvisor:https://github.com/Meituan-Dianping/SQLAdvisor


2、安装依赖包

#安装依赖包
yum install cmake libaio-devel libffi-devel glib2 glib2-devel
#安装percona yum仓库
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
#编译安装SQLAdvisor会依赖perconaserverclient_r,由percona-server-shared-56提供
yum install Percona-Server-shared-56 --nogpgcheck
# ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so  #做软连接,已存在的话可以忽略


3、编译依赖项

cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
make && make install


4、安装SQLadvisor

cd SQLAdvisor/sqladvisor/
cmake -DCMAKE_BUILD_TYPE=debug ./
make  #make后生成一个sqladvisor可执行文件,这就是需要用到的工具,拷贝到/usr/bin下


5、SQLadvisor常用选项与示例

  -f, --defaults-file     sqls file
  -u, --username          username
  -p, --password          password
  -P, --port              port
  -h, --host              host
  -d, --dbname            database name
  -q, --sqls              sqls
  -v, --verbose           1:output logs 0:output nothing


6、命令运行后,对于一些不是非常复杂的SQL都会给出一个索引优化建议

sqladvisor -h 10.3.0.230  -P 3307  -u dba -p '12345678' -d wp_ark_test -q "SELECT * FROM \`ark_attach\` ORDER BY create_time DESC" -v 1

SQLADVISOR.png


评论