SOAR SQL进行优化和改写的自动化工具
?
前言
SQL優(yōu)化是程序開發(fā)中經(jīng)常遇到的問題,尤其是在程序規(guī)模不斷擴(kuò)大的時(shí)候。SQL的好壞不僅制約著程序的規(guī)模,影響著用戶的體驗(yàn),甚至威脅著信息的安全。
我們經(jīng)常聽到說哪家平臺(tái)掛了,哪家網(wǎng)站被黑了,但我們不知道,其實(shí)這些平臺(tái)掛了、被黑了的原因很多時(shí)候在于SQL不夠健壯。SQL不夠健壯易造成數(shù)據(jù)查詢超時(shí)、SQL注入、信息泄漏等問題。
SQL優(yōu)化歸根到底是SQL語句的優(yōu)化,索引的優(yōu)化。由于很多數(shù)據(jù)庫自帶的分析工具不夠強(qiáng)大便捷,很多時(shí)候要想寫出好一點(diǎn)的SQL語句完全憑經(jīng)驗(yàn)。這也是為什么有人說看一個(gè)程序員資歷深不深就看他寫的SQL好不好的原因。
憑經(jīng)驗(yàn)做事不總是那么可靠的,況且也并不是人人都有那么多的經(jīng)驗(yàn)。那如果不靠經(jīng)驗(yàn),那新手怎么辦?答,使用SOAR!
什么是SOAR
SOAR是SQL Optimizer And Rewriter的簡稱。SOAR是一個(gè)對SQL進(jìn)行優(yōu)化和改寫的自動(dòng)化工具,由小米人工智能與云平臺(tái)的數(shù)據(jù)庫團(tuán)隊(duì)開發(fā)與維護(hù)。現(xiàn)在在GitHub上有4000多星。
功能特點(diǎn)
SOAR有如下功能特點(diǎn):
- 跨平臺(tái)支持(支持Linux,、Mac、Windows環(huán)境)
- 目前只支持 MySQL 語法族協(xié)議的SQL優(yōu)化
- 支持基于啟發(fā)式算法的語句優(yōu)化
- 支持復(fù)雜查詢的多列索引優(yōu)化(UPDATE, INSERT, DELETE, SELECT)
- 支持EXPLAIN信息豐富解讀
- 支持SQL指紋、壓縮和美化
- 支持同一張表多條ALTER請求合并
- 支持自定義規(guī)則的SQL改寫
安裝使用
SOAR支持Linux、Mac、Window環(huán)境,可以在Linux、Mac、Window上安裝使用。下面以Window版本為例介紹安裝使用過程。
1、安裝Go
SOAR的使用依賴Go語言,所以在安裝使用之前,先安裝Go。
下載地址:https://studygolang.com/dl下載完成后進(jìn)行Go安裝,本文安裝使用默認(rèn)路徑,安裝完成后,在cmd中輸入 go version ,如果出現(xiàn)版本信息,則表示安裝成功。如果報(bào)錯(cuò),將將C:Go/in(你的安裝路徑)加入環(huán)境變量。
2、安裝SOAR
選擇windows版本下載SOAR安裝文件
下載地址:https://github.com/XiaoMi/soar/releases打開上面網(wǎng)址,下載以下安裝文件
?
將安裝文件soar.windows-amd64重命名為soar.exe,放置D盤soar文件夾下,你也可以將這個(gè)目錄加入到環(huán)境變量中。
打開cmd,進(jìn)入到soar.exe所在目錄,然后輸入 soar -version命令,如果出行版本信息,則為安裝成功。
3.安裝python3方法如下:
3.1.進(jìn)入Python官方網(wǎng)站下載安裝包
點(diǎn)擊導(dǎo)航欄的 Downloads 會(huì)自動(dòng)識(shí)別你的windows系統(tǒng) ?你會(huì)看到 ?Python3.6.2 和 Python2.7.13 ??(32位系統(tǒng))的安裝包
注:Python3以后版本不再向Python2進(jìn)行兼容,所有如果你是單純?yōu)榱藢W(xué)新東西建議直接下載Python3以后的版本?
如果你是系統(tǒng)是windows64位或者你想下載其他版本的安裝包—— 請點(diǎn)擊Downloads ?> Windows ? 下載你需要的版本安裝包
注:64位版本不可以安裝在32位的系統(tǒng)上,但是32位版本可以安裝在64位的系統(tǒng)
?
3. 2.將Python安裝到你的windows操作系統(tǒng)上
?特別要注意勾上Add Python 3.7 to PATH,然后點(diǎn)“Install Now”即可完成安裝
?安裝成功后,打開命令提示符窗口,敲入python后出現(xiàn)以下情況則安裝完成,如果報(bào)錯(cuò)命令不存在則沒有安裝環(huán)境變量
4、安裝Web圖形化工具
這一步不是必須的,如果你喜歡命令行操作,完成步驟2即可。選擇安裝Web圖形化工具,只是為了方便操作。
安裝Web圖形化工具,可以在下面地址下載:
https://github.com/xiyangxixian/soar-web注意:此Web圖形化工具依賴Python3x、Flask、PyMysql、Pycryptodome。因此,安裝此Web圖形化工具前先安裝Python3x。
下載完成后把文件解壓放到D盤。
進(jìn)入D盤 D:\soar\soar-web-master文件夾,執(zhí)行如下命令,安裝其他依賴。:
pip install -r requirement.txt?執(zhí)行命令后如果報(bào)以下紅色方框錯(cuò)誤。需要運(yùn)行以下命令更換鏡像:
pip install virtualenv -i https://pypi.douban.com/simple
?待所有依賴晚裝完畢,執(zhí)行如下命令,啟動(dòng)服務(wù)。
run.bat效果如下:
圖形管理界面:
?
轉(zhuǎn)載于:https://www.cnblogs.com/-mrl/p/10614741.html
總結(jié)
以上是生活随笔為你收集整理的SOAR SQL进行优化和改写的自动化工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太赞了!刷题PDF终于在GitHub上开
- 下一篇: linux cmake编译源码,linu