MySQL 3.23 中文参考手册 |
| 后退 |
7.27 CREATE INDEX句法 |
前进 |
|
|
| 2004-02-12 MySQL 译者:晏子 http://www.mysql.com/doc.html |
|
| |
CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length)],... )
CREATE INDEX语句在MySQL版本 3.22 以前不做任何事情。在 3.22 或以后版本中,CREATE INDEX被映射到一个ALTER TABLE语句来创建索引。见7.8 ALTER TABLE句法。
通常,你在用CREATE TABLE创建表本身时创建表的所有索引。见7.7 CREATE TABLE句法。CREATE INDEX允许你把索引加到现有表中。
一个(col1,col2,...)形式的列表创造一个多列索引。索引值有给定列的值串联而成。
对于CHAR和VARCHAR列,索引可以只用一个列的部分来创建,使用col_name(length)句法。(在BLOB和TEXT列上需要长度)。下面显示的语句使用name列的头10个字符创建一个索引:
mysql> CREATE INDEX part_of_name ON customer (name(10));
因为大多数名字通常在头10个字符不同,这个索引应该不比从整个name列的创建的索引慢多少。另外,在索引使用部分的列能使这个索引成为更小的文件大部分, 它能保存很多磁盘空格并且可能也加快INSERT操作!
注意,如果你正在使用MySQL版本 3.23.2 或更新并且正在使用MyISAM表类型,你只能在可以有NULL值的列或一个BLOB/TEXT列上增加一个索引,
关于MySQL如何使用索引的更多信息,见10.4 MySQL索引的使用。
|
| |
|
|
| |
|
发表评论
关闭窗口
|
|
|
|