SQL使用規范
更新時間 2024-12-11 09:50:43
最近更新時間: 2024-12-11 09:50:43
分享文章
本節提供SQL使用規范的通用八個原則供用戶參考。
- 首要原則:語句盡量簡單,不在數據庫做復雜運算,不用存儲過程、函數。
- select,insert一定要帶上字段名,盡量少用select *。
- 優化LIMIT分頁:不要用LIMIT start, offset。
- 禁用select for update、insert……select from、select *(必須明確給出需要字段)、insert TB values……(必須明確給出字段)、order by rand()語法。它會擴大意向鎖范圍,較大程度影響數據庫的并發事務效率。
- 只用inner join或者left join;禁止用right join。表關聯的on必須有索引,只關聯需要表,只選擇需要的列。
- 復雜查詢拆分簡單查詢;盡量小批量小語句分段執行,一個sql不要超過1G的binlog。小語句小事務好處:減少鎖、用上多cpu,緩存命中率高。
- 大事務可以set auto_commit =0 關閉自動提交,但是拒絕濫用,會導致阻塞。
- 注意SQL語句中數據類型隱式轉換的問題。查詢條件中使用‘’可能導致類型轉換無法使用索引,比如:int_col=‘0’,會導致隱式轉換無法正常使用索引。