中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLAdvisor如何安裝使用

發布時間:2021-11-01 16:07:15 來源:億速云 閱讀:298 作者:小新 欄目:MySQL數據庫

小編給大家分享一下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如何安裝使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盘锦市| 林芝县| 江津市| 平遥县| 阿鲁科尔沁旗| 蓬溪县| 西畴县| 乐至县| 班戈县| 嘉祥县| 滦南县| 陆川县| 丘北县| 治多县| 泽州县| 广昌县| 项城市| 通辽市| 合江县| 伊通| 新民市| 丰县| 漳浦县| 青冈县| 油尖旺区| 文成县| 芮城县| 任丘市| 和硕县| 吴堡县| 成都市| 济宁市| 嘉鱼县| 恭城| 无棣县| 女性| 当阳市| 清镇市| 正镶白旗| 右玉县| 即墨市|