分佈式事務數據庫 —-MySQL 數據庫開發規範(第六節)

《分佈式事務數據庫 —-MySQL 數據庫開發規範》一文更新到現在已經過半了~Amy對之前的目錄進行了調整——也是爲了讓大家能夠更早的看到這篇誠意十足的乾貨!今天爲大家更新第六節“SELECT 子句的使用規範”(預計後面還有兩到三節)。感興趣的可以複習一下之前的五節。
當然,如果我的分享有幫助到你,可以繼續關注我哦~有什麼疑惑或者不足之處也歡迎大家在評論裏指出!

SELECT 子句的使用規範
6.1 基本原則
在不必要查詢中使用“*”列出所有字段,且存在 GROUP BY 或 ORDER BY 的時候,禁止使用 。SELECT * 一次取出所有的字段。對於表連接的 JOIN 語句,禁止使用 SELECT * 來進行查詢。含有 text 字段的表,當不需要取出 TEXT 字段的時候,也禁止使用 SELECT * 進行查詢。
6.2 詳細說明
1> 進行 GROUP BY 或 ORDER BY 的時候不允許使用 SELECT * 是爲了確保 MySQL 能夠使用最新的優化排序算法;
2> JOIN 語句不允許使用 SELECT * 是爲了防止僅僅只需要索引即可完成的查詢需要回表取數;
3> 存有 TEXT 字段表,在不需要取出 TEXT 字段的時候,不允許使用 SELECT * ,因爲 TEXT字段是存放在和普通記錄不一樣的物理位置,會造成大量的 IO 操作;
4> SELECT * 會增加 CPU、IO 開銷和佔用更多的網絡帶寬,也影響性能;
5> 避免因增刪字段而沒有修改相關SQL及相關程序代碼導致程序BUG,而禁用SELECT *;
6> SELECT 子句部分不要出現前臺不需要或後續處理不需要的字段,尤其不要出現TEXT/BLOB 等不需要的大字段。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章