91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫的語句應該如何優化

發布時間:2021-10-26 17:22:31 來源:億速云 閱讀:146 作者:小新 欄目:數據庫

這篇文章主要介紹了數據庫的語句應該如何優化,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

  在MySQL數據庫怎么加快查詢速度,優化查詢效率,主要原則就是應盡量避免全表掃描,應該考慮在where及orderby涉及的列上建立索引。

建立索引不是建的越多越好,原則是:

  第一:表里的索引不是越多越好

  一個表的索引不是越多越好,也沒有一個具體的數字,根據以往的經驗,一個表的索引最多不能超過6個,因為索引越多,對update和insert操作也會有性能的影響,涉及到索引的新建和重建操作。

  第二:建立索引的方法論為:

  多數查詢經常使用的列;

  很少進行修改操作的列;

  索引需要建立在數據差異化大的列上

  利用以上的基礎我們討論一下如何優化sql。

復合索引(形如(x,y,uid)索引的索引)

  先看這樣一條語句這樣的:select*fromuserswherearea=’beijing’andage=22;

  如果我們是在area和age上分別創建索引的話,由于mysql查詢每次只能使用一個索引,所以雖然這樣已經相對不做索引時全表掃描提高了很多效率,但是如果area,age兩列上創建復合索引的話將帶來更高的效率。

  在使用索引字段作為條件時,如果該索引是復合索引,那么必須使用到該索引中的第一個字段作為條件時才能保證系統使用該索引,否則該索引將不會被使用,并且應盡可能的讓字段順序與索引順序相一致。

  例如我們建立了一個這樣的索引(area,age,salary),那么其實相當于創建了(area,age,salary),(area,age),(area)三個索引,這樣稱為最佳左前綴特性。

MySQY語句模型結構優化指導

  a.ORDERBY+LIMIT組合的索引優化

  如果一個SQL語句形如:SELECT[column1],[column2],….FROM[TABLE]ORDERBY[sort]LIMIT[offset],[LIMIT];

  這個SQL語句優化比較簡單,在[sort]這個欄位上建立索引即可。

  b.WHERE+ORDERBY+LIMIT組合的索引優化

  如果一個SQL語句形如:SELECT[column1],[column2],….FROM[TABLE]WHERE[columnX]=[VALUE]ORDERBY[sort]LIMIT[offset],[LIMIT];

  這個語句,如果你仍然采用第一個例子中建立索引的方法,雖然可以用到索引,但是效率不高。更高效的方法是建立一個聯合索引(columnX,sort)

  c.WHERE+ORDERBY多個欄位+LIMIT

  如果一個SQL語句形如:SELECT*FROM[table]WHEREuid=1ORDERx,yLIMIT0,10;

  對于這個語句,大家可能是加一個這樣的索引:(x,y,uid)。但實際上更好的效果是(uid,x,y)。這是由MySQL處理排序的機制造成的。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“數據庫的語句應該如何優化”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶余县| 房产| 大英县| 汽车| 拜城县| 隆安县| 黄平县| 静安区| 宁蒗| 庆云县| 汾西县| 砚山县| 汶上县| 建水县| 丰原市| 涿州市| 建湖县| 南漳县| 龙陵县| 吴堡县| 澄江县| 普洱| 元朗区| 喀喇| 周至县| 南充市| 常山县| 宁武县| 鄯善县| 钟祥市| 新民市| 旬阳县| 桦甸市| 陕西省| 景德镇市| 黄浦区| 永靖县| 周宁县| 若羌县| 含山县| 永宁县|