6条策略提高mysql查询速度 潇湘博客
1,表設(shè)計(jì)一定要優(yōu)化,冗余數(shù)據(jù)最少,少用連接查詢。如果在實(shí)際應(yīng)用中,使用了極其復(fù)雜的連接,子查詢,則數(shù)據(jù)表的設(shè)計(jì)得要重新考慮了。
2,盡量用char而不是varchar,因?yàn)楣潭ㄩL(zhǎng)度得string用起來(lái)更快.在當(dāng)今硬盤容量越來(lái)越大的情況下,犧牲點(diǎn)存儲(chǔ)空間而換得查詢速度得提升是值得的。
3,通過(guò)簡(jiǎn)化權(quán)限來(lái)提高查詢速度。如果一個(gè)查詢之前要執(zhí)行很多權(quán)限驗(yàn)證,則查詢速度會(huì)慢下來(lái),不妨試著在mysql中用root登錄與用你新建的有權(quán)限控制的用戶登錄的速度,就可以看出來(lái)了,root登錄,一下子就進(jìn)入了,而普通用戶登錄,總會(huì)延遲一下。
4, 表的優(yōu)化。如果一個(gè)表已經(jīng)用了一段時(shí)間,隨著更新和刪除操作的發(fā)生,數(shù)據(jù)將會(huì)變得支離破碎,這樣同樣會(huì)增加在該表中進(jìn)行物理搜索所花費(fèi)的時(shí)間。你要知道的 是,在mysql底層設(shè)計(jì)中,數(shù)據(jù)庫(kù)將被映射到具有某種文件結(jié)構(gòu)的目錄中,而表則映射到文件。所以磁盤碎片是很有可能發(fā)生的。慶幸的是,在mysql中, 我們可以通過(guò)下面的語(yǔ)句進(jìn)行修復(fù):
optimize table tablename
或
myisamchk -r tablename
5,使用索引,可以在需要提高查詢速度的地方使用索引,簡(jiǎn)化索引,不要?jiǎng)?chuàng)建查詢不使用的索引。可通過(guò)運(yùn)行explain命令分析后決定.
6,使用默認(rèn)值,在盡可能的地方使用列的默認(rèn)值,只在與默認(rèn)值不同的時(shí)候才插入數(shù)據(jù)。這樣可以減少執(zhí)行insert語(yǔ)句所花費(fèi)的時(shí)間轉(zhuǎn)載:http://www.cnblogs.com/markor/archive/2007/05/12/744031.html
轉(zhuǎn)載于:https://www.cnblogs.com/fengju/archive/2008/11/11/6173963.html
總結(jié)
以上是生活随笔為你收集整理的6条策略提高mysql查询速度 潇湘博客的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C#_获取文件路径中的文件名_扩展名
- 下一篇: SQL2005 BI系列课程