首頁>Club>
10
回覆列表
  • 1 # 文阿喵

    1. 下載安裝

    建立soar檔案目錄,在soar目錄下建立etc、log資料夾。

    從 https://github.com/XiaoMi/soar/releases 下載對應的二進位制檔案到soar目錄,改字尾為soar.exe。

    2. 配置檔案

    在etc目錄下建立soar.yaml配置檔案,線上環境、測試環境地址需修改,輸出格式包括html、markdown、json等,可參考 https://github.com/XiaoMi/soar/blob/master/doc/config.md 。

    # 線上環境配置

    online-dsn:

    addr: localhost:3306

    schema: world

    user: root

    password: root

    disable: false

    # 測試環境配置

    test-dsn:

    addr: localhost:3306

    schema: world

    user: root

    password: root

    disable: false

    # 是否允許測試環境與線上環境配置相同

    allow-online-as-test: true

    # 是否清理測試時產生的臨時檔案

    drop-test-temporary: true

    # 語法檢查小工具

    only-syntax-check: false

    sampling-statistic-target: 100

    sampling: false

    # 日誌級別,[0:Emergency, 1:Alert, 2:Critical, 3:Error, 4:Warning, 5:Notice, 6:Informational, 7:Debug]

    log-level: 7

    log-output: log/soar.log

    # 最佳化建議輸出格式

    report-type: html

    ignore-rules:

    - ""

    # 黑名單中的 SQL 將不會給評審意見。一行一條 SQL,可以是正則也可以是指紋,填寫指紋時注意問號需要加反斜線轉義。

    blacklist: etc/soar.blacklist

    # 啟發式演算法相關配置

    max-join-table-count: 5

    max-group-by-cols-count: 5

    max-distinct-count: 5

    max-index-cols-count: 5

    max-total-rows: 9999999

    spaghetti-query-length: 2048

    allow-drop-index: false

    # EXPLAIN相關配置

    explain-sql-report-type: pretty

    explain-type: extended

    explain-format: traditional

    explain-warn-select-type:

    - ""

    explain-warn-access-type:

    - ALL

    explain-max-keys: 3

    explain-min-keys: 0

    explain-max-rows: 10000

    explain-warn-extra:

    - ""

    explain-max-filtered: 100

    explain-warn-scalability:

    - O(n)

    query: ""

    list-heuristic-rules: false

    list-test-sqls: false

    verbose: true

    3. 執行程式

    支援直接輸入sql語句或者讀取sql檔案,推薦使用讀取sql檔案的方式。步驟如下:

    在命令列進入到soar目錄(也可以把soar目錄配置到環境變數),輸入 soar -query sql檔案路徑 ,即可在命令列下列印分析報告。

    輸入 soar –query sql檔案路徑 > 儲存的檔案路徑,即可將報告匯出成檔案。

    Explain資訊解讀可參考 https://github.com/XiaoMi/soar/blob/master/doc/explain.md 。

    SOAR常用命令可參考 https://github.com/XiaoMi/soar/blob/master/doc/cheatsheet.md 。

  • 中秋節和大豐收的關聯?
  • 腳踏車怎樣保養才不會生鏽?用什麼油擦最好?