<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                本文是[MySQL(三)|《千萬級大數據查詢優化》第一篇:創建高性能的索引]的一個補充。 主要包括如下幾點: 1. 關于`sex`列創建索引的處理 sex可以理解為那種選擇性不高,但是可能很多查詢都會用到的列。考慮到使用的頻率,還是建議在創建不同組合索引的時候將它作為前綴。 但是根據經驗法則(**將選擇性最高的列放到索引最前列**)不是說不應該在選擇性低的列上創建索引嗎?那為什么這里要將sex列字段作為索引的前綴列?這里有兩個理由: 第一點,幾乎所有的查詢都會用到它; 第二點,索引中加上這一列也沒有壞處,即使查詢沒有使用sex列也可以通過一些“訣竅”繞過,這個訣竅就是:如果每個查詢不限制性別,那么可以通過在查詢條件中新增`AND SEX IN('m', 'f')`來讓MySQL選擇該索引。這樣寫并不會過濾任何行,和沒有這個條件時返回的結果相同。但是必須加上這個列的條件,MySQL才能夠匹配索引的最左前綴。 2. 避免創建冗余和重復索引 重復索引的概念很好理解,我們也不會出現創建兩個`idx_ab`、`idx_ab`的索引,很多時候是在不經意間創建的。關于冗余,就得做一個說明啦。舉例如下,我在新建一個表時,要把ID設置為主鍵,必須保證它是唯一的,還要在它身上加上索引: ~~~objectivec create table test( ID INT NOT NULL PRIMARY KEY, A INT NOT NULL, B INT NOT NULL, UNIQUE(ID), INDEX(ID), )ENGINE-InnoDB; ~~~ 因為MySQL的唯一限制和主鍵限制都是通過索引實現的,所以實際上上面對ID創建了3個重復的索引。 如果創建了索引`idx_ab`,再創建索引`idx_a`就是冗余索引,創建索引`idx_b`或`idx_ba`都不是冗余索引。(這個冗余只是對B-Tree索引來說的) 3. 找出未使用的索引,進行刪除 除了冗余索引和重復索引,可能還會有一些服務器永遠不用的索引,這種索引完全是累贅,需要刪除。有很多工具可以幫助定位未使用的索引。 4. 沒有萬金油般的索引,也沒有放之四海而皆準的經驗法則 經常在網上聽到一些經驗法則,包括我在上一篇文章中也提到過一些法則: “在多列索引中將選擇性最高的列放在第一列”、“應該為where子句中出現的所有列創建索引”...所有的法則都只是在特定場景才有效果。 5. 定期維護索引和表 維護表有三個主要的目的:找到并修復損害的表,維護準確的索引統計信息,減少碎片。 6. 對索引的優點做一個總結 索引的優點: 1)索引大大減少了服務器需要掃描的數據量。 2)索引可以幫助服務器避免排序和臨時表。 3)索引可以將隨機I/O變為順序I/O。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看