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