您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在mysql中優(yōu)化查詢,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、減少請求的數(shù)據(jù)量。
只回到必要的列:最好不要使用SELECT*語言。
只返回必要的行:使用LIMIT語言限制返回的數(shù)據(jù)。
緩存重復(fù)查詢的數(shù)據(jù):使用緩存可以避免在數(shù)據(jù)庫中查詢,特別是在經(jīng)常重復(fù)查詢的數(shù)據(jù)時,緩存帶來的查詢性能的提高是顯而易見的。
2、減少服務(wù)器方面掃描的行數(shù)。
最有效的方法是用索引復(fù)蓋查詢。
3、切分大的查詢。
如果一個大的查詢是一次性執(zhí)行的,它可能會一次性鎖定大量的數(shù)據(jù),占據(jù)整個辦公日志,消耗系統(tǒng)資源,阻塞大量小的但重要的查詢。因此,可以將大連接查詢分解為每個表進行一次表查詢,然后在應(yīng)用程序中進行相關(guān)聯(lián)。
這樣做的好處是:
使緩存更有效率。對于連接查詢,如果其中一個表格發(fā)生變化,則整個查詢緩存無法使用。分解后的多個查詢,即使其中一個表發(fā)生變化,其他表的查詢緩存也可以使用。
分解成多個表格查詢,這些表格查詢的緩存結(jié)果可能被其他查詢使用,減少冗馀記錄的查詢。
減少鎖定競爭;
連接應(yīng)用層可以更容易地分割數(shù)據(jù)庫,從而更容易實現(xiàn)高性能和伸縮。
查詢本身的效率也有可能提高。例如,使用IN()代替連接查詢,MySQL可以按ID順序查詢,這可能比隨機連接更有效。
關(guān)于怎么在mysql中優(yōu)化查詢就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。