1、儲存引擎選擇:如果數(shù)據(jù)表需要事務(wù)處理,應(yīng)該考慮使用InnoDB,因為它完全符合ACID 特性。如果不需要事 務(wù)處理,使用默認(rèn)存儲引擎MyISAM是比較明智的
2、分表分庫,主從。
3、對查詢進行優(yōu)化,要盡量避免全表掃描,首先應(yīng)考慮在where及orderby涉及的列上建立索引
4、應(yīng)盡量避免在where子句中對字段進行null值判斷,否則將導(dǎo)致引擎放棄使用索引而進行全表掃描
5、應(yīng)盡量避免在where子句中使用 != 或 <> 操作符,否則將引擎放棄使用索引而進行全表掃描
6、應(yīng)盡量避免在 where 子句中使用 or 來連接條件,如果一個字段有索引,一個字段沒有索引, 將導(dǎo)致引擎放棄使用索引而進行全表掃描
7、Update語句,如果只更改 1、2 個字段,不要Update 全部字段,否則頻繁調(diào)用會引起明顯的性能消耗,同時 帶來大量日志
8、對于多張大數(shù)據(jù)量(這里幾百條就算大了)的表JOIN,要先分頁再JOIN,否則邏輯讀會很高, 性能很差。