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