ID | 標籤名稱 | 層級 | 推薦重點關注 | 描述 |
NEW_SQL | 新增慢SQL | 警告 | ✔️ | 相比最近一周新增的慢SQL。 |
DAS_IGNORE | DAS忽略 | 提示 | ➖ | DAS自動打標無需最佳化,例如以show ,create ,xa ,commit ,rollback ,select sleep ,explain 開頭的SQL。 |
FUZZY_LIKE | LIKE模糊查詢 | 提示 | ➖ | like 模糊比對,無法利用索引。
|
HAS_EXPR | 包含運算式 | 提示 | ➖ | 包含運算式計算,參與計算的列無法使用索引。 |
LARGE_IN_LIST | 大列表查詢 | 提示 | ➖ | in 包含超過200個元素,很可能是程式產生,欄位無法使用索引。
|
SELECT_STAR | SELECT全列查詢 | 提示 | ➖ | select 指定業務需要的欄位,避免返回多餘欄位造成效能下降和資源浪費。
|
INDEX_ADVISOR | 索引建議 | 提示 | ✔️ | 建立索引建議,加速SQL執行 。 |
COMPLEX_JOIN | 複雜JOIN | 提示 | ➖ | 超過三個表禁止join 。需要join 的欄位,資料類型必須絕對一致;多表關聯查詢時,保證被關聯的欄位需要有索引。 |
CROSS_DB | 跨庫查詢 | 提示 | ➖ | 跨執行個體遷移庫表的時候,會產生跨庫查詢停用風險。 |
SUBQUERY | 包含子查詢 | 提示 | ➖ | 包含子查詢,可以考慮採用join 改寫效率更高。 |
DEEP_PAGING | 深度翻頁 | 警告 | ➖ | 使用limit 的深度翻頁,建議採用join改寫。 |
WITHOUT_PREDICATE | 無謂詞 | 警告 | ✔️ | 包含無謂詞的語句,請檢查是否涉及全表掃描。 |
NULL_COMPARE | NULL匹配錯誤 | 警告 | ➖ | 使用ISNULL() 來判斷是否為NULL 值,因為NULL與任何值的直接比較都為NULL 。 |
COUNT_NOT_STAR | COUNT不規範 | 警告 | ➖ | 請使用COUNT(*) 替代count (列名)或count (常量),count(*) 是SQL92定義的標準統計行數的文法,跟資料庫無關,跟NULL 和非NULL 無關。count (列名)不會統計此列為NULL 值的行。 |
LARGE_ROWS_EXAMINED | 掃描行多 | 提示 | ➖ | 平均掃描行超過50000,掃描行數越大,越消耗資料庫資源,不僅本身的SQL慢,還可能影響其他SQL執行。 |
LARGE_ROWS_SENT | 返回行多 | 提示 | ➖ | 平均返回行超過5000,一次返回太多資料,請考慮減少返回行數。 |
NO_ADVICE | 無建議 | 提示 | ➖ | 暫無分析建議。 |
PERIOD_SQL | 周期性 | 提示 | ➖ | 每天固定時間執行。 |