MySQL認證教程:索引有什么用
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MySQL認證教程:索引有什么用,所有的MySQL列類型能被索引。在相關的列上的使用索引是改進SELECT操作性能的最好方法。
·一個表最多可有16個索引。最大索引長度是256個字節,盡管這可以在編譯MySQL時被改變。
· 對于CHAR和VARCHAR列,你可以索引列的前綴。這更快并且比索引整個列需要較少的磁盤空間。對于BLOB和TEXT列,你必須索引列的前綴,你不能索引列的全部。
·MySQL能在多個列上創建索引。一個索引可以由最多15個列組成。(在CHAR和VARCHAR列上,你也可以使用列的前綴作為一個索引的部分)。
雖然隨著 MySQL 的進一步開發創建索引的約束將會越來越少,但現在還是存在一些約束的。下面的表根據索引的特性,給出了 ISAM 表和 MyISAM 表之間的差別:
索引的特點ISAM 表MyISAM 表
索引的特點 |
ISAM 表 |
MyISAM 表 |
NULL 值 |
不允許 |
允許 |
BLOB 和 TEXT 列 |
不能索引 |
只能索引列的前綴 |
每個表中的索引數 |
16 |
32 |
每個索引中的列數 |
16 |
16 |
最大索引行尺寸 |
256 字節 |
500 字節 |
從此表中可以看到,對于 ISAM 表來說,其索引列必須定義為 NOT NULL,并且不能對 BLOB 和 TEXT 列進行索引。MyISAM 表類型去掉了這些限制,而且減緩了其他的一些限制。兩種表類型的索引特性的差異表明,根據所使用的 MySQL 版本的不同,有可能對某些列不能進行索引。例如,如果使用3.23 版以前的版本,則不能對包含 NULL 值的列進行索引。
索引有如下的幾種情況:
·INDEX索引:通常意義的索引,某些情況下KEY是它的一個同義詞。索引的列可以包括重復的值。
·UNIQUE索引:唯一索引,保證了列不包含重復的值,對于多列唯一索引,它保證值的組合不重復。
·PRIMARY KEY索引:也UNIQUE索引非常類似。事實上,PRIMARY KEY索引僅是一個具有PRIMARY名稱的UNIQUE索引。這表示一個表只能包含一個PRIMARY KEY。