下面我來說一下,有關在MYSQL上最實用的"軍規",希望大家都能夠牢記遵守
一、核心軍規
- 不在資料庫中做運算:cpu計算務必移至業務層
- 控制單表資料量:單表記錄控制在1000w
數控制在20以內 - 平衡範式與冗餘:為提高效率犧牲範式設計,冗餘數據 - 拒絕3B:拒絕大sql,大事物,大批量二、欄位類別軍事規則 - 善用
數值類型 tinyint(1Byte)
1 c smh 3Byte)
int(4Byte)
bigint(8Byte)
bad case:int(1)/int(11)#> )儲存ip
- 避免使用NULL欄位
查詢
最佳化
- 少用text/blob varchar的性能會比text高很多 # 實在避免不了
# 實在避免不了 圖片#
## - 謹慎合理使用索引
改善查詢、減緩
更新##o## # 改善查詢、減緩
覆蓋記錄條數過多不適合建構索引,例如「性別」 - 字元欄位必須建構前綴索引
- 字元欄位必須建構前綴索引
- 字元欄位必須建構前綴索引
- 字元欄位必須建構前綴索引
- 不在索引做列運算
bad case:
使用自排 主鍵建立叢集索引
主鍵不應該被修改
字串
不應該做主鍵
限制
四、sql類別軍事規則
- sql語句盡可能簡單## 運算
全語句移除整個程式庫
## bad case: 上傳圖片交易
上面是我整理給大家的MySQL"軍規",希望今後會對大家有幫助。
相關文章:
以上是MySQL"軍規"的詳細內容。更多資訊請關注PHP中文網其他相關文章!