索引的分类
注意:索引是在存儲引擎中實現的,也就是說不同的存儲引擎,會使用不同的索引。MyISAM和InnoDB存儲引擎:只支持BTREE索引,也就是說默認使用BTREE,不能夠更換。MEMORY/HEAP存儲引擎:支持HASH和BTREE索引。
1、索引我們分為四類來講單列索引(普通索引,唯一索引,主鍵索引)、組合索引、全文索引、空間索引、
1.1、單列索引:一個索引只包含單個列,但一個表中可以有多個單列索引。 這里不要搞混淆了。
????1.1.1、普通索引:MySQL中基本索引類型,沒有什么限制,允許在定義索引的列中插入重復值和空值,純粹為了查詢數據更快一點。
????1.1.2、唯一索引:索引列中的值必須是唯一的,但是允許為空值,
????1.1.3、主鍵索引:是一種特殊的唯一索引,不允許有空值。(主鍵約束,就是一個主鍵索引)
1.2、組合索引:在表中的多個字段組合上創建的索引,只有在查詢條件中使用了這些字段的左邊字段時,索引才會被使用,使用組合索引時遵循最左前綴集合。例如,這里由id、name和age3個字段構成的索引,索引行中就按id/name/age的順序存放,索引可以索引下面字段組合(id,name,age)、(id,name)或者(id)。如果要查詢的字段不構成索引最左面的前綴,那么就不會是用索引,比如,age或者(name,age)組合就不會使用索引查詢
1.3、全文索引:全文索引,只有在MyISAM引擎上才能使用,只能在CHAR,VARCHAR,TEXT類型字段上使用全文索引,介紹了要求,說說什么是全文索引,就是在一堆文字中,通過其中的某個關鍵字等,就能找到該字段所屬的記錄行,比如有"你是個大煞筆,二貨 ..." 通過大煞筆,可能就可以找到該條記錄。這里說的是可能,因為全文索引的使用涉及了很多細節,我們只需要知道這個大概意思。
1.4、空間索引:空間索引是對空間數據類型的字段建立的索引,MySQL中的空間數據類型有四種,GEOMETRY、POINT、LINESTRING、POLYGON。在創建空間索引時,使用SPATIAL關鍵字。要求,引擎為MyISAM,創建空間索引的列,必須將其聲明為NOT NULL。可能跟游戲開發有關。
轉發:https://blog.csdn.net/qiuchaoxi/article/details/80010489
總結
- 上一篇: 图像极坐标变换及在OCR中的应用
- 下一篇: python怎么使用自定义停用词_在Py