MYSQL 关于索引的部分问题!
1、
PRIMARY KEY也可以只指定为KEY。这么做的目的是与其它数据库系统兼容、二来key 是index的同意词!
2、
在UNIQUE索引中,所有的值必须互不相同。如果您在添加新行时使用的关键字与原有行的关键字相同,则会出现错误。
例外情况是,如果索引中的一个列允许包含NULL值,则此列可以包含多个NULL值。此例外情况不适用于BDB表。
在BDB中,带索引的列只允许一个单一NULL。
3、
PRIMARY KEY是一个唯一KEY,此时,所有的关键字列必须定义为NOT NULL。如果这些列没有被明确地定义为NOT NULL,
MySQL应隐含地定义这些列。一个表只有一个PRIMARY KEY。如果您没有PRIMARY KEY并且一个应用程序要求在表中使用PRIMARY KEY,
则MySQL返回第一个UNIQUE索引
4、
在已创建的表中,PRIMARY KEY的位置最靠前,然后是所有的UNIQUE索引,然后是非唯一索引。这可以帮助MySQL优化程序选择优先使用哪个索引,
并且更快速的检测出重复的UNIQUE关键字。
5、
创建特殊的FULLTEXT索引,用于全文搜索。只有MyISAM表类型支持FULLTEXT索引。FULLTEXT索引只可以从CHAR, VARCHAR和TEXT列中创建。
整个列都会被编入索引;不支持对部分列编索引。如果已指定,前缀长度会被忽略。