SQLAdvisor 详细介绍
SQLAdvisor是由美团点评公司北京DBA团队开发维护的SQL优化工具:。它基于MySQL原生词法解析,再结合SQL中地方的条件以及字段选择度,聚合条件,多表连接关系等最终输出最优的索引优化建议。
<李>
基于MySQL原生词法解析,充分保证词法解析的性能,准确定以及稳定性;
李> <李>支持常见的SQL(插入/删除/更新/选择);
李> <李>支持多表连接并自动逻辑选定驱动表;
李> <李>支持聚合条件Order by和Group by;
李> <李>过滤表中已存在的索引。
李>
1。SQLAdvisor安装
1.1拉取最新代码
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git
1.2安装依赖项
<>之前,1只yum |, apt-get , install cmake libaio-devel libffi-devel glib2 glib2-devel ,2只yum |, apt-get , install ——enablerepo=Percona56 Percona-Server-shared-56
- <李>
跟据glib安装的路径,修改SQLAdvisor/SQLAdvisor/CMakeLists。txt中的两处include_directories针对glib设置的path.glib百胜安装默认不需要修改路径
李> <李>编译sqladvisor时依赖perconaserverclient_r,因此需要安装Percona-Server-shared-56。有可能需要配置软链接例如:1。cd/usr/lib64/2。ln - s libperconaserverclient_r.so。18 libperconaserverclient_r。所以
李> <李>有可能需要配置percona56百胜源:百胜install http://www.percona.com/downloads/percona - release/redhat/0.1 3/percona -释放- 0.1 - 3. - noarch.rpm
李>1.3编译依赖项sqlparser
<>之前1只cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/地方/sqlparser 。/2只;make ,,, make 安装
- <李>
DCMAKE_INSTALL_PREFIX为sqlparser库文件和头文件的安装目录,其中自由目录包含库文件libsqlparser。所以,包括目录包含所需的所有头文件。
李> <李>DCMAKE_INSTALL_PREFIX值尽量不要修改,后面安装依赖这个目录。
李>1.4安装SQLAdvisor源码
<>之前1只cd SQLAdvisor/SQLAdvisor/2只;cmake -DCMAKE_BUILD_TYPE=debug 。/3只; 4只在本路径下生成一个sqladvisor可执行文件,这即是我们想要的。2。SQLAdvisor使用
2.1——帮助输出
。/sqladvisor ——帮助 用法: sqladvisor 才能;[…]选项,sqladvisor SQL Advisor 总结 Help 选项: ,,,?——help ,,,,,,,,,,,,, Show help 选项 Application 选项: ,,- f,——defaults-file ,,,, sqls 文件 ,,- u,——username ,,,,,,,,,用户名 ,,- p,——password ,,,,,,,,,密码 ,,- p,——port ,,,,,,,,,,,,,端口 ,,- h,——host ,,,,,,,,,,,,,主机 ,,- d,——dbname ,,,,,,,,,,, database 名字 ,,q,——sqls ,,,,,,,,,,,,中的 - v,才能,——verbose ,,,,,,,,,, 1: output logs 0: output 没有
2.2命令行传参调用
。/sqladvisor -h xx , -P xx , -u xx -P “xx”, -d xx -q “sql”, -v 1<编辑>注意:命令行传参时,参数名与值需要用空格隔开编辑>
2.3配置文件传参调用
<>以前美元祝辞cat sql.cnf (sqladvisor) 用户名=xx 密码=xx 主机=xx 端口=xx dbname=xx sqls=sql1; sql2 sql3 .... cmd:,。/sqladvisor -f  sql.cnf , -v 1软件下载地址:http://v7.51cto.com/change.php?path=/wyfs02/M00/8E/A4/wKioL1jHsrPhSztyAavyE-3DdHk359.zip& skey=JgvctLUHe_6JK8VxuSm6CQ&少许=1489482991,sname=51 cto % E4%B8 % 8 b % E8%BD % BD-SQLAdvisor-master.zip