返回顶部
首页 > 资讯 > 数据库 >SQLAdvisor如何安装使用
  • 107
分享到

SQLAdvisor如何安装使用

2024-04-02 19:04:59 107人浏览 泡泡鱼
摘要

小编给大家分享一下sqlAdvisor如何安装使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一

小编给大家分享一下sqlAdvisor如何安装使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、SQLAdvisor简介
SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于Mysql原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。目前SQLAdvisor在美团点评广泛应用,包括美团支付、酒店旅游、外卖、团购等产品线,公司内部对SQLAdvisor的开发全面转到GitHub上,开源和内部使用保持一致。

主要功能:输出SQL索引优化建议

二、SQLAdvisor安装
1、依赖包安装
rpm -q cmake libaio-devel libffi-devel glib2 glib2-devel
yum   install cmake libaio-devel libffi-devel glib2 glib2-devel
yum   install --enablerepo=Percona56 Percona-Server-shared-56   (如安装percona数据库,可通过软链接形式实现库文件创建,ln -s /usr/local/mysql/lib/libperconaserverclient.so.18  /usr/lib64/libperconaserverclient.so、)
注意
跟据glib安装的路径,修改SQLAdvisor/sqladvisor/CMakeLists.txt中的两处include_directories针对glib设置的path。glib yum 安装默认不需要修改路径
编译sqladvisor时依赖perconaserverclient_r, 因此需要安装Percona-Server-shared-56。有可能需要配置软链接例如:1. cd /usr/lib64/ 2. ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so
有可能需要配置percona56 yum源: yum install Http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
2、软件包下载
https://github.com/Meituan-Dianping/SQLAdvisor
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git
3、软件包安装
(1)解压安装包
unzip SQLAdvisor-master.zip
(2)安装sqlparser解析
cd SQLAdvisor-master
cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
make
make install
注意:
DCMAKE_INSTALL_PREFIX为sqlparser库文件和头文件的安装目录,其中lib目录包含库文件libsqlparser.so,include目录包含所需的所有头文件。
DCMAKE_INSTALL_PREFIX值尽量不要修改,后面安装依赖这个目录。
(3)安装sqladvisor
cd sqladvisor/
cmake -DCMAKE_BUILD_TYPE=debug ./
make
##此时在编译目录生成可执行文件sqladvisor,可以通过ln -s sqladvisor /usr/bin/这种方式放入PATH路径中,可以通过./sqladvisor执行
三、SQLAdvisor使用
1、命令帮助文档查看
[root@node1 ~]# sqladvisor  --help
Usage:
  sqladvisor [OPTION...] sqladvisor

SQL Advisor Summary

Help Options:
  -?, --help              Show help options

Application Options:
  -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
2、命令行执行SQLAdvisor
[root@node1 sqladvisor]# sqladvisor  -h 10.1.0.10 -u dbuser -p abc.1234 -P 3306 -d dbtest -q "select * from t2 where id=3;" -v 1
2017-03-12 08:32:31 23537 [Note] 第1步: 对SQL解析优化之后得到的SQL:select `*` AS `*` from `dbtest`.`t2` where (`id` = 3)
2017-03-12 08:32:31 23537 [Note] 第2步:开始解析where中的条件:(`id` = 3)
2017-03-12 08:32:31 23537 [Note] show index from t2
2017-03-12 08:32:31 23537 [Note] 第3步:SQLAdvisor结束!表中没有任何索引
3、SQLAdvisor配合参数文件使用
[root@node1 sqladvisor]# cat sql.cnf
[sqladvisor]
username=dbuser
password=abc.1234
host=10.1.0.10
port=3306
dbname=dbtest
sqls=select * from t2 where id=3;

[root@node1 sqladvisor]# sqladvisor  -f sql.cnf -v 1
2017-03-12 08:34:03 24195 [Note] 第1步: 对SQL解析优化之后得到的SQL:select `*` AS `*` from `dbtest`.`t2` where (`id` = 3)
2017-03-12 08:34:03 24195 [Note] 第2步:开始解析where中的条件:(`id` = 3)
2017-03-12 08:34:03 24195 [Note] show index from t2
2017-03-12 08:34:03 24195 [Note] 第3步:SQLAdvisor结束!表中没有任何索引

四、SQLAdvisor附录
1、错误信息以及解决方案
错误信息01:
Scanning dependencies of target sqladvisor
[100%] Building CXX object CMakeFiles/sqladvisor.dir/main.cc.o
Linking CXX executable sqladvisor
/usr/bin/ld: cannot find -lperconaserverclient_r
collect2: ld returned 1 exit status
make[2]: *** [sqladvisor] Error 1
make[1]: *** [CMakeFiles/sqladvisor.dir/all] Error 2
make: *** [all] Error 2
##由于缺少percona的库文件libperconaserverclient_r.so或者在/usr/lib64下不存在,解决方案就是安装percona库文件包或通过软链接形式ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so
2、结构流程图(参考源码文档)
SQLAdvisor如何安装使用SQLAdvisor如何安装使用SQLAdvisor如何安装使用SQLAdvisor如何安装使用SQLAdvisor如何安装使用SQLAdvisor如何安装使用

SQLAdvisor如何安装使用SQLAdvisor如何安装使用

以上是“SQLAdvisor如何安装使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: SQLAdvisor如何安装使用

本文链接: https://lsjlt.com/news/62580.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQLAdvisor如何安装使用
    小编给大家分享一下SQLAdvisor如何安装使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一...
    99+
    2024-04-02
  • CentOS 6如何安装SQLAdvisor
    这篇文章给大家分享的是有关CentOS 6如何安装SQLAdvisor的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 从git上拉取最新代码[BEGIN] 2018...
    99+
    2024-04-02
  • 美团点评SQL优化工具 SQLAdvisor 安装和使用
    SQLAdvisor 详细介绍SQLAdvisor 是由美团点评公司北京 DBA 团队开发维护的 SQL 优化工具:输入SQL,输出索引优化建议。 它基于 MySQL 原生词法解析,再结合 SQL...
    99+
    2024-04-02
  • centos7下安装sql优化工具SQLAdvisor
    1.克隆代码#cd /usr/local/src/#git clone https://github.com/Meituan-Dianping/SQLAdvisor.git2.安装依赖包#yum insta...
    99+
    2024-04-02
  • OSWatcher如何安装使用
    这篇文章主要介绍了OSWatcher如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 [root@rhel5 ~]# l...
    99+
    2024-04-02
  • Redis如何安装使用
    这篇文章主要介绍了Redis如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一、Redis基础部分:  1、red...
    99+
    2024-04-02
  • 如何安装使用sysbench
    本篇文章为大家展示了如何安装使用sysbench,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。yum -y ins...
    99+
    2024-04-02
  • MyCAT如何安装使用
    这篇文章主要介绍了MyCAT如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MyCAT安装 mycat运行依赖于...
    99+
    2024-04-02
  • EasySwoole如何安装使用
    小编给大家分享一下EasySwoole如何安装使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!EasySwooleEasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API...
    99+
    2023-06-14
  • 如何安装使用GitLab
    这篇文章主要为大家展示了“如何安装使用GitLab”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何安装使用GitLab”这篇文章吧。GitLab 是一个用于仓库管理系统的开源项目,使用Git作...
    99+
    2023-06-27
  • Pandas如何安装使用
    这篇文章主要介绍了Pandas如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 安装如果做数据分析用途建议使用Anaconda,自带pandas numy 以及...
    99+
    2023-06-03
  • Flutter如何安装使用
    这篇文章给大家分享的是有关Flutter如何安装使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。序言Flutter出来已经有些日子了,越来越多的开发者也开始尝试使用 Flutter 进行开发...
    99+
    2023-06-04
  • SSDB如何安装和使用
    这篇文章给大家分享的是有关SSDB如何安装和使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍:SSDB是一个高性能的支持丰富数据结构的 NoSQL 数据库, 使用硬盘存储,...
    99+
    2024-04-02
  • 如何安装与使用mysql5.7.21
    如何安装与使用mysql5.7.21?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、MySQL安装1、官网下载社区版2、解压...
    99+
    2024-04-02
  • 如何安装与使用DataGrip
    如何安装与使用DataGrip?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mysql的安装 官网下载mysql-8.0.19-winx6...
    99+
    2024-04-02
  • Trac如何安装和使用
    小编给大家分享一下Trac如何安装和使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装介绍:  根据官网的介绍可以...
    99+
    2024-04-02
  • mysqlsla如何安装与使用
    这篇文章给大家分享的是有关mysqlsla如何安装与使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysqlsla的安装与使用1. mysqlsla[root@localho...
    99+
    2024-04-02
  • Angular CLI如何安装使用
    小编给大家分享一下Angular CLI如何安装使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装Angular CLI1....
    99+
    2024-04-02
  • vue-devtools如何安装使用
    这篇文章将为大家详细讲解有关vue-devtools如何安装使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue-devtools 是一款基于chrome游览器的插件...
    99+
    2024-04-02
  • python安装后如何使用
    python安装后的使用方法:使用Python自身提供的IDLE集成开发环境。直接在idle中输入代码,按回车就可以运行。或者用idle新建一个Python文件,在python文件中敲写代码更加方便。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作