您好,登錄后才能下訂單哦!
SQLAdvisor 詳細(xì)介紹
SQLAdvisor 是由美團(tuán)點(diǎn)評(píng)公司北京 DBA 團(tuán)隊(duì)開發(fā)維護(hù)的 SQL 優(yōu)化工具:輸入SQL,輸出索引優(yōu)化建議。 它基于 MySQL 原生詞法解析,再結(jié)合 SQL 中的 where 條件以及字段選擇度、聚合條件、多表 Join 關(guān)系等最終輸出最優(yōu)的索引優(yōu)化建議。
sql: SELECT id FROM crm_loan WHERE id_card = '1234567'cmd: ./sqladvisor -h xx -P xx -u xx -pxx -d xx -q "SELECT id FROM crm_loan WHERE id_card = '1234567'"SQLAdvisor輸出: alter table crm_loan add index idx_id_card(id_card)
基于 MySQL 原生詞法解析,充分保證詞法解析的性能、準(zhǔn)確定以及穩(wěn)定性;
支持常見的 SQL(Insert/Delete/Update/Select);
支持多表 Join 并自動(dòng)邏輯選定驅(qū)動(dòng)表;
支持聚合條件 Order by 和 Group by;
過濾表中已存在的索引。
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git
1. yum | apt-get install cmake libaio-devel libffi-devel glib2 glib2-devel 2. yum | apt-get install --enablerepo=Percona56 Percona-Server-shared-56
注意
跟據(jù)glib安裝的路徑,修改SQLAdvisor/sqladvisor/CMakeLists.txt中的兩處include_directories針對(duì)glib設(shè)置的path。glib yum 安裝默認(rèn)不需要修改路徑
編譯sqladvisor時(shí)依賴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
1. cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./ 2. make && make install
注意
DCMAKE_INSTALL_PREFIX為sqlparser庫(kù)文件和頭文件的安裝目錄,其中l(wèi)ib目錄包含庫(kù)文件libsqlparser.so,include目錄包含所需的所有頭文件。
DCMAKE_INSTALL_PREFIX值盡量不要修改,后面安裝依賴這個(gè)目錄。
1. cd SQLAdvisor/sqladvisor/ 2. cmake -DCMAKE_BUILD_TYPE=debug ./ 3. make 4. 在本路徑下生成一個(gè)sqladvisor可執(zhí)行文件,這即是我們想要的。
./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
./sqladvisor -h xx -P xx -u xx -p 'xx' -d xx -q "sql" -v 1
$> 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
軟件下載地址 :http://v7.51cto.com/change.php?path=/wyfs02/M00/8E/A4/wKioL1jHsrPhSztyAavyE-3DdHk359.zip&skey=JgvctLUHe_6JK8VxuSm6CQ&stime=1489482991&sname=51CTO%E4%B8%8B%E8%BD%BD-SQLAdvisor-master.zip
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。