中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

建立索引能提升表中數據查詢的速度嗎

發布時間:2020-11-11 14:21:44 來源:億速云 閱讀:446 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關建立索引能提升表中數據查詢的速度嗎,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

首先明白為什么索引會增加速度,DB在執行一條Sql語句的時候,默認的方式是根據搜索條件進行全表掃描,遇到匹配條件的就加入搜索結果集合。

如果我們對某一字段增加索引,查詢時就會先去索引列表中一次定位到特定值的行數,大大減少遍歷匹配的行數,所以能明顯增加查詢的速度。(推薦學習:MySQL視頻教程)

添加索引的話,首先去索引列表中查詢,而我們的索引列表是B類樹的數據結構,查詢的時間復雜度為O(log2N),定位到特定值得行就會非常快,所以其查詢速度就會非常快。

為什么說B+-tree比B 樹更適合實際應用中操作系統的文件索引和數據庫索引?

1) B+-tree的磁盤讀寫代價更低

B+-tree的內部結點并沒有指向關鍵字具體信息的指針。因此其內部結點相對B 樹更小。如果把所有同一內部結點的關鍵字存放在同一盤塊中,那么盤塊所能容納的關鍵字數量也越多。一次性讀入內存中的需要查找的關鍵字也就越多。相對來說IO讀寫次數也就降低了。

舉個例子,假設磁盤中的一個盤塊容納16bytes,而一個關鍵字2bytes,一個關鍵字具體信息指針2bytes。一棵9階B-tree(一個結點最多8個關鍵字)的內部結點需要2個盤快。而B+ 樹內部結點只需要1個盤快。當需要把內部結點讀入內存中的時候,B 樹就比B+ 樹多一次盤塊查找時間(在磁盤中就是盤片旋轉的時間)。

2) B+-tree的查詢效率更加穩定

由于非終結點并不是最終指向文件內容的結點,而只是葉子結點中關鍵字的索引。所以任何關鍵字的查找必須走一條從根結點到葉子結點的路。所有關鍵字查詢的路徑長度相同,導致每一個數據的查詢效率相當。

索引

使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓(lname)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。

注意:并非所有的數據庫都以相同的方式使用索引。

作為通用規則,只有當經常查詢索引列中的數據時,才需要在表上創建索引。索引占用磁盤空間,并且降低添加、刪除和更新行的速度。在多數情況下,索引用于數據檢索的速度優勢大大超過它的。

關于建立索引能提升表中數據查詢的速度嗎就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

闽清县| 宁化县| 根河市| 宝坻区| 扶风县| 深泽县| 西和县| 楚雄市| 汤阴县| 资源县| 苗栗市| 彭山县| 建湖县| 习水县| 巢湖市| 鄂伦春自治旗| 伊吾县| 日照市| 万荣县| 新乡县| 施甸县| 石城县| 威远县| 神池县| 盐山县| 桓台县| 冕宁县| 县级市| 永清县| 徐水县| 青铜峡市| 阿拉尔市| 南郑县| 双流县| 梁山县| 汾阳市| 泸西县| 孝感市| 浑源县| 富宁县| 卫辉市|