mysql優化

mysql優化

1、儘量不再數據庫運算 

    (MD5 order by rand() left 等 避免在sql語句中使用函數)

2、對數據做合理預估
    純int類型不超過1000w
    含char類型不超過500w

3、保持表字段少而精,控制表字段的數量

4、控制單庫的表數量

5、拒絕大事務,大sql  大批量

6、 多使用int類型字段 

7、避免使用null

8、 避免/不用  text 、 blob

9、不要在數據庫存圖片

10、 合理使用索引

11、 優先考慮覆蓋索引

12、 字符字段建議前綴索引 

13、 不要在索引列進行計算

14、 儘量不用外鍵

15、innodb 儘量要建立主鍵 

16、拒絕大SQL

17、 pv :  頁面訪問量
        uv :  獨立訪客
        tps :  每秒事務數 
        qps :  每秒查詢量 


三範式:
1、表中的每一列都是不可再分的,確保每一列的原子性

2、非主鍵字段要以來於主鍵字段

3、非主鍵字段和主鍵字段直接關聯的,而不是間接相關,
非主鍵字段不能相互關聯


反三範式:
沒有冗餘的數據庫未必是最好的數據庫,
有時爲了提高運行效率,提高讀性能,
就必須降低範式標準,適當保留冗餘數據。
具體做法是: 在概念數據模型設計時遵守第三範式,
降低範式標準的工作放到物理數據模型設計時考慮。
降低範式就是增加字段,減少了查詢時的關聯,
提高查詢效率,因爲在數據庫的操作中查詢的比例要遠
遠大於DML的比例。但是反範式化一定要適度,
並且在原本已滿足三範式的基礎上再做調整的。



發佈了50 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章