分(fēn)享到:

Mysql大(dà)數據查詢優化

日(rì)期:2017-03-10 19:37:00     閱讀(dú):356     文章(zhāng)來(lái)源:源美網絡     标簽:深圳網站(zhàn)建設,深圳網站(zhàn)設計(jì)

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āng)引用:

本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!

上一篇: win7下npm出現npm err windows_nt 6.1.7601錯誤

下一篇: 【深圳網站(zhàn)建設】Html和Xhtml有之間有什麽特點

返回列表
最新案例
OUR ADVANTAGE WORKS

售後保障

承諾任何問(wèn)題1小時内解決

數據備份

更安全、更高效、更穩定

價格公道精準

項目經理(lǐ)精準報價不弄虛作(zuò)假

合作(zuò)無風(fēng)險

重合同講信譽,無效全額退款