- 選擇合適字段類型:
字段儘量選擇的越小越好,因爲越短的類型佔用的磁盤空間越小
還有就是我們儘量選擇使用固定長度或固定值得字段類型
表的列字段最好不要太多,合適就好
儘可能使用not null定義字段
儘量少使用text字段類型,如果使用的話最好進行分表
- 添加索引
字段查詢比較多的情況下建立索引
字段要求不重複的情況下建立唯一索引
主鍵儘量使用比較短的字段類型,減少磁盤佔用空間
避免創建過多的索引,降低寫得速度
非常小的表,全表掃描更快,沒必要創建索引
索引創建完後,還是要注意避免索引失效的情況
- Sql優化
不要把sql語句寫的太長
儘量避免使用子查詢,使用連表代替子查詢,儘量使用內關聯查詢,也就是等值關聯
儘量避免索引失效的情況
儘量避免使用 select * ,只查找要使用的字段
查詢一條記錄的時候儘量使用limit 1 避免表的掃描
避免循環查詢,減少應用程序與數據庫的交互次數
- 使用緩存
減少應用程序和數據庫交互的次數
分區分表優化,range分區, 水平分表
配置數據庫的讀寫分離
- 建立索引的原則
在經常需要搜索的列上,可以加快搜索的速度
在經常用在連接的列上,這些列主要是一外鍵,可以加快連接的速度
在經常需要排序的列上,因爲索引已經排序,這樣可以利用索引的排序,加快排序時間
在作爲主鍵的列上,強制該列的唯一性和組織表中數據的排列結構