資料庫操作--建立索引,資料庫--索引

來源:互聯網
上載者:User

資料庫操作--建立索引,資料庫--索引

前段時間接到個任務,要在兩秒內從1000萬條資料中查詢某一條資料是否存在。著實嚇我一跳。1000萬條資料!兩秒!真的可以嗎?幸好師傅給指了條明路。可以考慮用表分區來實現。雖然不知道表分區是什麼,但是最起碼有一個方向了。然後就開始在網上搜尋表分區的資料,看了看網上的資料,差不多都是一些建表分區的教程。但是我要建立的表分區和例子上又不一樣,需要動態建立表分區,這就難了。搞了半天沒搞好。後來想起來春哥和遊哥提到過以前他們在對資料庫搜尋資料的很慢,然後在資料庫中加了索引以後,搜尋提升了好幾倍。

好,那就看看索引吧。先是根據資料格式造了1000萬條假資料。然後開始建立表索引。

第一步,在表下面的“索引”右擊選擇 “建立索引”,然後根據自己的需要建立相應的索引。


第二步,更改索引名稱,選擇需要加索引的欄位


第三步,根據需要選擇欄位


第四步,確定添加索引


好了,索引建立好了。

下面來看看加上索引和不加索引搜尋速度的對比

沒有加索引檢索全表的速度為5秒


加上索引後檢索全表的速度為0.363秒


在學習資料庫的時候就知道有索引,而且索引分為叢集索引和非叢集索引。那麼,索引到底是什麼呢?

拿字典舉例子吧:字典前面的目錄,可以按照拼音和部首去查詢。我們想查詢一個字,只需要根據拼音或部首查詢就可以快速找到要查的這個漢字了。那麼,字典的目錄就是索引。拼音查詢法就是叢集索引,部首查詢發就是非叢集索引。

看了上面的例子,下面的話就很容易理解了。

聚集搜尋引儲存記錄是物理上連續存在,而非叢集索引是邏輯上的連續,實體儲存體並不連續。就像欄位,叢集索引是連續的,a後面肯定是b。而非叢集索引就不一定了。

 

對索引的瞭解暫時就這麼多,很淺。要想真正的學精,以後還要不斷的加深學習。

相關文章

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.