叢集索引比非叢集索引更快嗎?

來源:互聯網
上載者:User

       大概數周之前,因為公司招人,想在網上找點面試題“借用借用”,於是無意中找到這樣一道資料庫題:

“索引有那兩種形式?分別有什麼優缺點?”

       文章作者給出的答案是:

叢集索引:表中儲存的資料按照索引的順序儲存,檢索效率比非叢集索引高,但對資料更新影響較大。
   非叢集索引:不影響表中資料的儲存順序,檢索效率比叢集索引低,但對資料更新影響較小。

       非叢集索引真的比叢集索引慢嗎?就本人對資料庫的理解,並不是這樣的。

       以SQL SERVER為例,資料記錄是分布在以8KB為單位的資料頁上的。叢集索引就是資料本身,而非叢集索引儲存的是索引鍵和對應的叢集索引索引值。

       因此絕大多數情況,一單位叢集索引的大小都大於一單位非叢集索引的大小,換句話說,一個資料頁上能夠容納非叢集索引的條數是多餘叢集索引的。

       而SQL SERVER是以頁為單位來掃描資料的,因此掃描相同頁數量的資料頁,能夠覆蓋的非叢集索引數量會更多,如果合理的利用SQL SERVER 2005的包含列的話,非叢集索引的查詢效率是高於叢集索引的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.