1、分(fēn)頁時統計(jì)頁面總數不要使用mysql_num_rows,而是使用select count,二者效率相(xiàng)差百倍。可(kě)以隻統計(jì)一次,用memcached等方式儲存,避免多次對數據庫的操作(zuò)。
2、limit語句可(kě)以寫成limit 20 offset 10000
3、關鍵字段建立索引。列重複内容過多的時候,索引并不會mysql引擎使用。一個表上的索引量最好不要超過六個,索引雖然提高了select的效率,但(dàn)是同樣會降低插入和更新的效率。
4、避免在where中做空值判斷、非判斷、模糊匹配,or查詢可(kě)以改成union查詢效率會極大(dà)提升。
例如(rú)select * from table where types=1 or types=2
可(kě)以改爲select * from table where types=1 union select * from table where types=2;
5、in或not in查詢可(kě)以改成between,或者比如(rú)一個跨表的查詢可(kě)以這樣
select * from table1 where nid in (select nid from table2 where……);
select a.* from table1 a inner join table2 b on a.nid= b.nid where …….;
like模糊匹配可(kě)以使用FULLTEXT索引替代改成全文檢索。
6、在使用索引字段作(zuò)爲條件(jiàn)時,如(rú)果該索引是複合索引,那麽必須使用到該索引中的第一個字段作(zuò)爲條件(jiàn)時才能保證系統使用該索引,否則該索引将不會被使用,并且應盡可(kě)能的讓字段順序與索引順序相(xiàng)一緻。
7、exists 和 in的效率比較。參考資料http://www.cnblogs.com/meibao/p/4973043.html
8、純數字使用數字型字段,varchar/nvarchar > char/nchar,控制字段大(dà)小,盡量避免允許爲空
9、未完待續……
本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!
售後保障
承諾任何問(wèn)題1小時内解決數據備份
更安全、更高效、更穩定價格公道精準
項目經理(lǐ)精準報價不弄虛作(zuò)假合作(zuò)無風(fēng)險
重合同講信譽,無效全額退款