程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql下通俗索引和獨一索引的效力比較

mysql下通俗索引和獨一索引的效力比較

編輯:MySQL綜合教程

mysql下通俗索引和獨一索引的效力比較。本站提示廣大學習愛好者:(mysql下通俗索引和獨一索引的效力比較)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql下通俗索引和獨一索引的效力比較正文


明天在我的虛擬機中安排了情況,測試抓圖以下:

抓的這幾個都是第一次履行的,刷了幾回後,取均勻值,效力年夜致雷同,並且假如在一個列上同時建獨一索引和通俗索引的話,mysql會主動選擇獨一索引。

谷歌一下:

獨一索引和通俗索引應用的構造都是B-tree,履行時光龐雜度都是O(log n)。

彌補下概念:

1、通俗索引

 

  通俗索引(由症結字KEY或INDEX界說的索引)的獨一義務是加速對數據的拜訪速度。是以,應當只為那些最常常湧現在查詢前提(WHEREcolumn=)或排序前提(ORDERBYcolumn)中的數據列創立索引。只需有能夠,就應當選擇一個數據最整潔、最緊湊的數據列(如一個整數類型的數據列)來創立索引。

2、獨一索引

  通俗索引許可被索引的數據列包括反復的值。好比說,由於人有能夠同名,所以統一個姓名在統一個“員工小我材料”數據內外能夠湧現兩次或更屢次。

假如能肯定某個數據列將只包括彼此各不雷同的值,在為這個數據列創立索引的時刻就應當用症結字UNIQUE把它界說為一個獨一索引。這麼做的利益:一是簡化了MySQL對這個索引的治理任務,這個索引也是以而變得更有用率;二是MySQL會在有新記載拔出數據表時,主動檢討新記載的這個字段的值能否曾經在某個記載的這個字段裡湧現過了;假如是,MySQL將謝絕拔出那條新記載。也就是說,獨一索引可以包管數據記載的獨一性。現實上,在很多場所,人們創立獨一索引的目標常常不是為了進步拜訪速度,而只是為了不數據湧現反復。

注:

終究找到同事說履行效力紛歧樣的緣由了,他在通俗索引上創立的是前綴索引,只取了前16個字節,而獨一索引應用的全字節 :)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved