新聞中心
前言
SQL優(yōu)化是程序開發(fā)中經(jīng)常遇到的問題,尤其是在程序規(guī)模不斷擴(kuò)大的時候。SQL的好壞不僅制約著程序的規(guī)模,影響著用戶的體驗,甚至威脅著信息的安全。

通渭網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
我們經(jīng)常聽到說哪家平臺掛了,哪家網(wǎng)站被黑了,但我們不知道,其實這些平臺掛了、被黑了的原因很多時候在于SQL不夠健壯。SQL不夠健壯易造成數(shù)據(jù)查詢超時、SQL注入、信息泄漏等問題。
SQL優(yōu)化歸根到底是SQL語句的優(yōu)化,索引的優(yōu)化。由于很多數(shù)據(jù)庫自帶的分析工具不夠強大便捷,很多時候要想寫出好一點的SQL語句完全憑經(jīng)驗。這也是為什么有人說看一個程序員資歷深不深就看他寫的SQL好不好的原因。
憑經(jīng)驗做事不總是那么可靠的,況且也并不是人人都有那么多的經(jīng)驗。那如果不靠經(jīng)驗,那新手怎么辦?答,使用SOAR!
什么是SOAR
SOAR是SQL Optimizer And Rewriter的簡稱。SOAR是一個對SQL進(jìn)行優(yōu)化和改寫的自動化工具,由小米人工智能與云平臺的數(shù)據(jù)庫團(tuán)隊開發(fā)與維護(hù)?,F(xiàn)在在GitHub上有4000多星。
功能特點
SOAR有如下功能特點:
- 跨平臺支持(支持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
Go安裝完成后,在cmd中輸入 go version ,如果出現(xiàn)版本信息,則表示安裝成功。
如果報錯,將將C:Goin(你的安裝路徑)加入環(huán)境變量。
2、安裝SOAR
選擇windows版本下載SOAR安裝文件
下載地址:https://github.com/XiaoMi/soar/releases
將安裝文件soar.windows-amd64重命名為soar.exe,放置D:Program Files (x86)soar文件夾下,你也可以將這個目錄加入到環(huán)境變量中。
打開cmd,進(jìn)入到soar.exe所在目錄,然后輸入 soar -version命令,如果出行版本信息,則為安裝成功。
3、安裝Web圖形化工具
這一步不是必須的,如果你喜歡命令行操作,完成步驟2即可。選擇安裝Web圖形化工具,只是為了方便操作。
安裝Web圖形化工具,可以在下面地址下載:
https://github.com/xiyangxixian/soar-web
此Web圖形化工具依賴Python3x、Flask、PyMysql、Pycryptodome。因此,安裝此Web圖形化工具前先安裝Python3x。待Python3x完成后,執(zhí)行如下命令,安裝其他依賴。
pip install -r requirement.txt
待所有依賴晚裝完畢,執(zhí)行如下命令,啟動服務(wù)。
run.bat
如下是安裝后的效果圖:
SQL優(yōu)化分析頁面
此頁面不僅可以分析SQL、智能改寫SQL,還可以美化SQL
你可以根據(jù)分析建議優(yōu)化SQL語句
SQL優(yōu)化建議效果
此Web圖形化工具的數(shù)據(jù)庫配置配置在LocalStorage,方便操作,也不增加額外負(fù)擔(dān)
數(shù)據(jù)庫配置頁面
文章名稱:SQL優(yōu)化還憑經(jīng)驗?這個工具能幫你智能優(yōu)化SQL
本文地址:http://www.5511xx.com/article/dhocijo.html


咨詢
建站咨詢
