MySQL單列索引和聯合索引

2021-07-11 03:25:09 字數 740 閱讀 2859

mysql單列索引和聯合索引

所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。

乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。

對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁碟空間。在create table語句中索引列字首的語法看起來像這樣:

key index_name (col_name(length))

下面的例子為name列的頭10個字元建立乙個索引:

對於blob和text列,你必須索引列的字首,你不能索引列的全部。

多列索引

mysql能在多個列上建立索引。乙個索引可以由最多15個列組成。(在char和varchar列上,你也可以使用列的字首作為乙個索引的部分)。

乙個多重列索引可以認為是包含通過合併(concatenate)索引列值建立的值的乙個排序陣列。

當你為在乙個where子句索引的第一列指定已知的數量時,mysql以這種方式使用多重列索引使得查詢非常快速,即使你不為其他列指定值。

假定一張表使用下列說明建立:

那麼索引name是乙個在last_name和first_name上的索引,這個索引將被用於在last_name或last_name和first_name的乙個已知範圍內指定值的查詢,因此,name索引將使用在下列查詢中:

然而,name索引將不用在下列詢問中:

**:

MySQL單列索引和聯合索引

所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁碟空間。在create tab...

MySQL單列索引和聯合索引

mysql單列索引和聯合索引 所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁...

MySQL單列索引和聯合索引

mysql單列索引和聯合索引 所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁...