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

溫馨提示×

溫馨提示×

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

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

mysql索引有哪些優點

發布時間:2022-06-13 11:55:00 來源:億速云 閱讀:212 作者:zzz 欄目:MySQL數據庫

本文小編為大家詳細介紹“mysql索引有哪些優點”,內容詳細,步驟清晰,細節處理妥當,希望這篇“mysql索引有哪些優點”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

在mysql中,索引可以用來快速查詢數據表中有某一特定值的記錄,大大加快數據的查詢速度;在列上創建了索引之后,查找數據時可以直接根據該列上的索引找到對應記錄行的位置,從而快捷地查找到數據。如果表中查詢的列有一個索引,MySQL就能快速到達一個位置去搜索數據文件,而不必查看所有數據,這樣將會節省很大一部分時間;且通過創建唯一索引可以保證數據庫表中每一行數據的唯一性。

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

索引是一種特殊的數據庫結構,由數據表中的一列或多列組合而成,可以用來快速查詢數據表中有某一特定值的記錄。

通過索引,查詢數據時不用讀完記錄的所有信息,而只是查詢索引列。否則,數據庫系統將讀取每條記錄的所有信息進行匹配。

可以把索引比作新華字典的音序表。例如,要查“庫”字,如果不使用音序,就需要從字典的 400 頁中逐頁來找。但是,如果提取拼音出來,構成音序表,就只需要從 10 多頁的音序表中直接查找。這樣就可以大大節省時間。

因此,使用索引可以很大程度上提高數據庫的查詢速度,還有效的提高了數據庫系統的性能。

為什么要使用索引

索引就是根據表中的一列或若干列按照一定順序建立的列值與記錄行之間的對應關系表,實質上是一張描述索引列的列值與原表中記錄行之間一 一對應關系的有序表。

索引是 MySQL 中十分重要的數據庫對象,是數據庫性能調優技術的基礎,常用于實現數據的快速檢索。

在 MySQL 中,通常有以下兩種方式訪問數據庫表的行數據:

1) 順序訪問

順序訪問是在表中實行全表掃描,從頭到尾逐行遍歷,直到在無序的行數據中找到符合條件的目標數據。

順序訪問實現比較簡單,但是當表中有大量數據的時候,效率非常低下。例如,在幾千萬條數據中查找少量的數據時,使用順序訪問方式將會遍歷所有的數據,花費大量的時間,顯然會影響數據庫的處理性能。

2) 索引訪問

索引訪問是通過遍歷索引來直接訪問表中記錄行的方式。

使用這種方式的前提是對表建立一個索引,在列上創建了索引之后,查找數據時可以直接根據該列上的索引找到對應記錄行的位置,從而快捷地查找到數據。索引存儲了指定列數據值的指針,根據指定的排序順序對這些指針排序。

例如,在學生基本信息表 tb_students 中,如果基于 student_id 建立了索引,系統就建立了一張索引列到實際記錄的映射表。當用戶需要查找 student_id 為 12022 的數據的時候,系統先在 student_id 索引上找到該記錄,然后通過映射表直接找到數據行,并且返回該行數據。因為掃描索引的速度一般遠遠大于掃描實際數據行的速度,所以采用索引的方式可以大大提高數據庫的工作效率。

簡而言之,不使用索引,MySQL 就必須從第一條記錄開始讀完整個表,直到找出相關的行。表越大,查詢數據所花費的時間就越多。如果表中查詢的列有一個索引,MySQL 就能快速到達一個位置去搜索數據文件,而不必查看所有數據,這樣將會節省很大一部分時間。

索引的優點如下:

  • 通過創建唯一索引可以保證數據庫表中每一行數據的唯一性。

  • 可以給所有的 MySQL 列類型設置索引。

  • 可以大大加快數據的查詢速度,這是使用索引最主要的原因。

  • 在實現數據的參考完整性方面可以加速表與表之間的連接。

  • 在使用分組和排序子句進行數據查詢時也可以顯著減少查詢中分組和排序的時間

注:索引可以提高查詢速度,但是會影響插入記錄的速度。因為,向有索引的表中插入記錄時,數據庫系統會按照索引進行排序,這樣就降低了插入記錄的速度,插入大量記錄時的速度影響會更加明顯。這種情況下,最好的辦法是先刪除表中的索引,然后插入數據,插入完成后,再創建索引。

讀到這里,這篇“mysql索引有哪些優點”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

翁牛特旗| 新和县| 临武县| 黑山县| 泰州市| 常山县| 长汀县| 安国市| 波密县| 宕昌县| 隆安县| 新沂市| 贵德县| 孝感市| 江达县| 琼海市| 玛纳斯县| 淮安市| 台前县| 兴业县| 尼木县| 新河县| 巴彦县| 七台河市| 唐河县| 登封市| 江都市| 漠河县| 林甸县| 墨脱县| 湘乡市| 五原县| 尚义县| 荔浦县| 连江县| 康乐县| 上虞市| 蓝田县| 绥宁县| 迭部县| 依安县|