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的比例。但是反範式化一定要適度,
並且在原本已滿足三範式的基礎上再做調整的。