<li id="c4loq"><acronym id="c4loq"></acronym></li>

<button id="c4loq"></button>
    <dd id="c4loq"><pre id="c4loq"></pre></dd>

      <th id="c4loq"></th>

        <dd id="c4loq"></dd>

        幫助中心 > 數據庫 > 云數據庫MySQL > 常見問題 > 為應用選擇和創建最佳索引,加速數據讀取

        為應用選擇和創建最佳索引,加速數據讀取

        在工作之中,由于SQL問題導致的數據庫故障層出不窮,索引問題是SQL問題中常見的一種,例如:無索引,隱式轉換,索引創建不合理。

        使用沒有創建索引的SQL訪問數據庫中的表時,系統會進行全表掃描。如果表的數據量很大,則掃描大量的數據,執行效率過慢,占用數據庫連接,連接數堆積很快達到數據庫的最大連接數設置,新的應用請求將會被拒絕導致故障發生。

        隱式轉換是指SQL查詢條件中的傳入值與對應字段的數據定義不一致導致索引無法使用。常見隱式轉換如字段的表結構定義為字符類型,但SQL傳入值為數字;或者是字段定義collation為區分大小寫,在多表關聯的場景下,其表的關聯字段大小寫敏感定義各不相同。隱式轉換會導致索引無法使用,進而出現上述慢SQL堆積數據庫連接數跑滿的情況。

        索引使用策略及優化

        創建索引

        1.在經常查詢而不經常增刪改操作的字段加索引。
        2.order by與group by后應直接使用字段,而且字段應該是索引字段。
        3.一個表上的索引不應該超過6個。
        4.索引字段的長度固定,且長度較短。
        5.索引字段重復不能過多。
        6.在過濾性高的字段上加索引。

        使用索引注意事項

        1.使用like關鍵字時,前置%會導致索引失效。
        2.使用null值會被自動從索引中排除,索引一般不會建立在有空值的列上。
        3.使用or關鍵字時,or左右字段如果存在一個沒有索引,有索引字段也會失效。
        4.使用!=操作符時,將放棄使用索引。因為范圍不確定,使用索引效率不高,會被引擎自動改為全表掃描。
        5.不要在索引字段進行運算。
        6.在使用復合索引時,最左前綴原則,查詢時必須使用索引的第一個字段,否則索引失效;并且應盡量讓字段順序與索引順序一致。
        7.避免隱式轉換,定義的數據類型與傳入的數據類型保持一致。

        黄片免费无马赛克

        <li id="c4loq"><acronym id="c4loq"></acronym></li>

        <button id="c4loq"></button>
        <dd id="c4loq"><pre id="c4loq"></pre></dd>

          <th id="c4loq"></th>

            <dd id="c4loq"></dd>