《Mysql必讀mysql數(shù)據(jù)庫sql優(yōu)化原則》要點(diǎn):
本文介紹了Mysql必讀mysql數(shù)據(jù)庫sql優(yōu)化原則,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
一、mysql優(yōu)化前提
只針對(duì)mysql數(shù)據(jù)庫,其他的數(shù)據(jù)庫某些是殊途同歸,某些還是存在差異.我總結(jié)的也是mysql普遍的規(guī)則,對(duì)于某些特殊情況得特殊對(duì)待.在構(gòu)造sql語句的時(shí)候要養(yǎng)成良好的習(xí)慣.MYSQL數(shù)據(jù)庫
二、原則總結(jié)
原則1、僅列出需要查詢的字段,這對(duì)速度不會(huì)明顯的影響,主要是考慮節(jié)省應(yīng)用程序服務(wù)器的內(nèi)存.
原來語句: select * from admin
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則2、盡量避免在列上做運(yùn)算,這樣導(dǎo)致索引失效.
原語句:MYSQL數(shù)據(jù)庫
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則3、使用join 時(shí)候,應(yīng)該用小的結(jié)果驅(qū)動(dòng)大的結(jié)果(left join 左邊表結(jié)果盡量小 如果有條件應(yīng)該放到左邊先處理,right join 同理反向),同事盡量把牽涉到多表聯(lián)合的查詢拆分多個(gè)query(多個(gè)連表查詢效率低,容易到之后鎖表和阻塞).
原來語句MYSQL數(shù)據(jù)庫
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則 4、注意like 模糊查詢的使用, 避免使用 %% ,可以使用 后面帶% ,雙%是不走索引的.
原來語句:MYSQL數(shù)據(jù)庫
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則5、使用批量插入節(jié)省交互 (當(dāng)如如果使用存儲(chǔ)過程來處理批量的sql 各種邏輯是更好的選擇).
原來語句:MYSQL數(shù)據(jù)庫
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則6、limit 的基數(shù)比較大時(shí)使用between.
原來語句:MYSQL數(shù)據(jù)庫
優(yōu)化為:?MYSQL數(shù)據(jù)庫
原則7、不要使用rand函數(shù)獲取多條隨機(jī)記錄.
原來語句:MYSQL數(shù)據(jù)庫
優(yōu)化為:MYSQL數(shù)據(jù)庫
原則8、避免使用null.
原則9. 不要使用 count(id) 使用 count(*).
原則10、不要做無謂的排序操作,而應(yīng)該使用索引完成排序.
三、總結(jié)
數(shù)據(jù)庫優(yōu)化包括兩個(gè)方面,一方面是sql程序優(yōu)化,另一方面是數(shù)據(jù)庫配置的優(yōu)化.
另外,在mysql可以通過以下語句來查看幫助sql進(jìn)行優(yōu)化:
?MYSQL數(shù)據(jù)庫
set @@profiling = 1;
select * from typecho_comments order mail limit 10,30;
show profiles;MYSQL數(shù)據(jù)庫
show profile for queryMYSQL數(shù)據(jù)庫
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql必讀mysql數(shù)據(jù)庫sql優(yōu)化原則》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7428.html