我們專(zhuān)注于高端品牌網(wǎng)站創(chuàng)意設(shè)計(jì)與開(kāi)發(fā)
1、分頁(yè)時(shí)統(tǒng)計(jì)頁(yè)面總數(shù)不要使用mysql_num_rows,而是使用select count,二者效率相差百倍??梢灾唤y(tǒng)計(jì)一次,用memcached等方式儲(chǔ)存,避免多次對(duì)數(shù)據(jù)庫(kù)的操作。
2、limit語(yǔ)句可以寫(xiě)成limit 20 offset 10000
3、關(guān)鍵字段建立索引。列重復(fù)內(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í),如果該索引是復(fù)合索引,那么必須使用到該索引中的第一個(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.lt-ad.com/new/211.html
本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃,如有版權(quán)糾紛或者違規(guī)問(wèn)題,請(qǐng)聯(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ú)效全額退款