溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQl規(guī)范有哪些

發(fā)布時間:2021-08-03 10:59:31 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

MYSQl規(guī)范有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

  • 不在數(shù)據(jù)庫做運算:cpu計算務必移至業(yè)務層

  • 控制單表數(shù)據(jù)量:單表記錄控制在1000w

  • 控制列數(shù)量:字段數(shù)控制在20以內

  • 平衡范式與冗余:為提高效率犧牲范式設計,冗余數(shù)據(jù)

  • 拒絕3B:拒絕大sql,大事物,大批量

  • varchar是變長存儲的,所以實際開發(fā)中我們一般都把varchar的寬度設為最長255,反正你沒用完它也不會浪費空間。

  • 避免使用NULL字段

  1.  NULL字段很難查詢優(yōu)化

  1.  NULL字段的索引需要額外空間

  1.  NULL字段的復合索引無效

  • 少用text/blob

  1.  varchar的性能會比text高很多

  1. 實在避免不了blob,請拆表

  • 謹慎合理使用索引

  1. 改善查詢、減慢更新

  1.  索引一定不是越多越好(能不加就不加,要加的一定得加)

  1.  覆蓋記錄條數(shù)過多不適合建索引,例如“性別”

  • 不在索引做列運算

  1.  bad case:select id where age +1 = 10;

  • 不用外鍵,請由程序保證約束

  • sql語句盡可能簡單

  1. 一條sql只能在一個cpu運算

  1.  大語句拆小語句,減少鎖時間

  1.  一條大sql可以堵死整個庫

  • 簡單的事務,事務時間盡可能短

  • 避免使用trig/func

  1. 觸發(fā)器、函數(shù)不用

  1. 客戶端程序取而代之

  • 避免負向%

  • limit高效分頁,limit越大,效率越低 

  • 少用連接join 

  • 庫名,表名,列名必須用小寫,采用下劃線分隔 

  1.  abc,Abc,ABC都是給自己埋坑

  • 庫名,表名,列名必須見名知義,長度不要超過32字符 

  1.  tmp,wushan誰TM知道這些庫是干嘛的

  • 建議將大字段,訪問頻度低的字段拆分到單獨的表中存儲,分離冷熱數(shù)據(jù) 

  • 禁止在where條件列使用函數(shù)或者表達式 

  • 禁止大表JOIN和子查詢 

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI