我們專(zhuān)注於高端品牌網(wǎng)站創(chuàng)意設(shè)計(jì)與開(kāi)發(fā)
1、分頁(yè)時(shí)統(tǒng)計(jì)頁(yè)面總數(shù)不要使用mysql_num_rows,而是使用select count,二者效率相差百倍。可以只統(tǒng)計(jì)一次,用memcached等方式儲(chǔ)存,避免多次對(duì)資料庫(kù)的操作。
2、limit語句可以寫(xiě)成limit 20 offset 10000
3、關(guān)鍵欄位建立索引。列重複內(nèi)容過(guò)多的時(shí)候,索引並不會(huì)mysql引擎使用。一個(gè)表上的索引量最好不要超過(guò)六個(gè),索引雖然提高了select的效率,但是同樣會(huì)降低插入和更新的效率。
4、避免在where中做空值判斷、非判斷、模糊匹配,or查詢可以改成union查詢效率會(huì)極大提升。
例如select * from table where types=1 or types=2
可以改為select * from table where types=1 union select * from table where types=2;
5、in或not in查詢可以改成between,或者比如一個(gè)跨表的查詢可以這樣
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模糊匹配可以使用FULLTEXT索引替代改成全文檢索。
6、在使用索引欄位作為條件時(shí),如果該索引是複合索引,那麼必須使用到該索引中的第一個(gè)欄位作為條件時(shí)才能保證系統(tǒng)使用該索引,否則該索引將不會(huì)被使用,並且應(yīng)儘可能的讓欄位順序與索引順序相一致。
7、exists 和 in的效率比較。參考資料http://www.cnblogs.com/meibao/p/4973043.html
8、純數(shù)字使用數(shù)字型欄位,varchar/nvarchar > char/nchar,控制欄位大小,儘量避免允許為空
9、未完待續(xù)……
文章引用:http://www.szymweb.com/new/211.html
本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃(huà),如有版權(quán)糾紛或者違規(guī)問(wèn)題,請聯(lián)繫我們刪除,謝謝!
售後保障
承諾任何問(wèn)題1小時(shí)內(nèi)解決數(shù)據(jù)備份
更安全、更高效、更穩(wěn)定價(jià)格公道精準(zhǔn)
項(xiàng)目經(jīng)理精準(zhǔn)報(bào)價(jià)不弄虛作假合作無(wú)風(fēng)險(xiǎn)
重合同講信譽(yù),無(wú)效全額退款