1.對查詢進(jìn)行優(yōu)化,應(yīng)該盡量避免全表掃描,首先應(yīng)該考慮的是在where和order by后邊加索引
2.應(yīng)該盡量避免在where后邊使用!=和<>操作,否則引擎講放棄使用索引進(jìn)行全盤掃描。
3.盡量使用數(shù)字字段,盡量不要用字符型,降低連接性能,這是因為引擎在對比會挨個字符串中每一個字符,而數(shù)字比較一次就夠了
4.任何地方都不要用select * from t 用具體返回用不到的任何字段
5.避免避免頻繁刪除臨時表 以減少系統(tǒng)表對資源的消耗。
6.盡可能的使用not?null。除非你有一個很特別的原因要去使用null值,你應(yīng)該總讓你的字段保持為not?null
7.選擇正確的存儲引擎。myisam適合一些需要大量查詢的應(yīng)用。但其對于大量寫操作并不是很好。因為它使用到的是表級鎖,所以在你更新的時候,整張表都會被鎖起來,試想一下,當(dāng)你在更新某一行數(shù)據(jù)的時候,導(dǎo)致其他的行都無法被訪問,這會不會 很難受呢。另外,myisam對于select count(*)這類操作的計算時很快的。而至于innodb而言,對于一些小的應(yīng)用,它會比myisam還慢。它支持的是行級鎖,于是寫操作較多的時候,它會更加優(yōu)秀。它還支持一些更高級的應(yīng)用,比如說:事務(wù)
(未完待續(xù))