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

溫馨提示×

溫馨提示×

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

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

分析SQL給出索引優化建議的工具(美團開源)

發布時間:2020-08-12 22:58:22 來源:ITPUB博客 閱讀:348 作者:dbasdk 欄目:MySQL數據庫
分析SQL給出索引優化建議的工具(美團開源)

SQLAdvisor是由美團點評公司技術工程部DBA團隊(北京)開發維護的一個分析SQL給出索引優化建議的工具。它基于MySQL原生態詞法解析,結合分析SQL中的where條件、聚合條件、多表Join關系 給出索引優化建議。目前SQLAdvisor在美團點評內部廣泛應用,公司內部對SQLAdvisor的開發全面轉到github上,開源和內部使用保持一致

主要功能:輸出SQL索引優化建議

安裝測試的詳細過程
開源介紹
https://www.oschina.net/news/82725/sqladvisor-opensource?from=20170312


下載地址
https://github.com/Meituan-Dianping/SQLAdvisor/

1. SQLAdvisor安裝

以redhat6系統為例

1.1 拉取最新代碼
前提是聯網,已安裝git工具(yum install git)
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git

1.2 安裝依賴項

 1.2.1. yum   install cmake libaio-devel libffi-devel glib2 glib2-devel
 1.2.2. 配置percona56 yum源:
        yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

        yum   install --enablerepo=Percona56 Percona-Server-shared-56
 ##Percona56 是yum中配置的名字

 1.2.3.配置軟鏈接
1. cd /usr/lib64/
2. ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so

注意
1.跟據glib安裝的路徑,修改SQLAdvisor/sqladvisor/CMakeLists.txt中的兩處include_directories針對glib設置的path。glib yum 安裝默認不需要修改路徑
2.編譯sqladvisor時依賴perconaserverclient_r, 因此需要安裝Percona-Server-shared-56。

1.3 編譯依賴項sqlparser

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

注意
DCMAKE_INSTALL_PREFIX為sqlparser庫文件和頭文件的安裝目錄,其中lib目錄包含庫文件libsqlparser.so,include目錄包含所需的所有頭文件。
DCMAKE_INSTALL_PREFIX值盡量不要修改,后面安裝依賴這個目錄。

1.4 安裝SQLAdvisor源碼

1. cd SQLAdvisor/sqladvisor/
2. cmake -DCMAKE_BUILD_TYPE=debug ./
3. make
4. 在本路徑下生成一個sqladvisor可執行文件,這即是我們想要的。

2. SQLAdvisor使用

2.1 --help輸出

./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.2 命令行傳參調用

./sqladvisor -h xx  -P xx  -u xx -p 'xx' -d xx -q "sql" -v 1
注意:命令行傳參時,參數名與值需要用空格隔開

2.3 配置文件傳參調用

把連接信息寫到sql.cnf中,就不用每次都輸入用戶名密碼之類的,也可以把要優化的sql也寫入

$> cat sql.cnf
[sqladvisor]
username=xx
password=xx
host=xx
port=xx
dbname=xx
sqls=sql1;sql2;sql3....

cmd: ./sqladvisor -f sql.cnf  -v 1

個人測試圖例

配置文件
分析SQL給出索引優化建議的工具(美團開源)
分析SQL給出索引優化建議的工具(美團開源)

過程
分析SQL給出索引優化建議的工具(美團開源)




個人整理,因水平有限,發現錯誤可以評論批評指正,一定虛心修改!
分析SQL給出索引優化建議的工具(美團開源)

向AI問一下細節

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

AI

民勤县| 行唐县| 兴国县| 高雄市| 永寿县| 临漳县| 怀仁县| 葵青区| 托里县| 合川市| 龙海市| 满城县| 丰都县| 宜丰县| 旬阳县| 卫辉市| 和顺县| 武平县| 内江市| 忻州市| 福州市| 汨罗市| 陕西省| 古交市| 徐汇区| 泰顺县| 平阳县| 泉州市| 柘荣县| 锦州市| 新巴尔虎左旗| 卓尼县| 买车| 惠水县| 商丘市| 田东县| 庆安县| 孟村| 芦山县| 桃园县| 威海市|