MYSQL索引分为以下几种类型:
KEY or INDEX :
普通索引就是不同于唯一索引的一般索引,索引所在列上可以包含有相同的值,所以中的行可能包含完全相同的行。这些索引不会对数据产生任何限制,只是为了加快数据的查询操作。)
UNIQUE :
唯一索引值的是索引(建立在某些列上)中所有的行必须是唯一的,也就是说索引某行中字段的值和其他行的拥有不同的非NULL值,除了加快查询操作,唯一性索引还能再插入或者更新数据时保持该字段的值唯一。当索引中两行的值都是NULL时,他们被认为是不同的,因为NULL和它自身不相等。但是一般都避免建立索引的字段上出现NULL值)
PRIMARY :
主键是特殊的唯一性索引,一般情况下依噶表中只有一个主键,主键不允许字段值为NULL(和唯一性索引的区别),之间是最小的能唯一确定一行的标识字段。mysql的InnoDB将数据按照主键的顺序存放在磁盘上。
FULLTEXT :
全文索引和以上的所有索引不一样,在不同的数据库系统中执行检索的行为也大不相同。全文索引的唯一目的是实现全文检索,只能在MATCH()/AGAINST()语句中使用。不同于其他使用B树或者hash表实现的索引,其实现方式也不一样。
例如索引是建立在column1,column2,column3上的,
where column1=xxx会使用索引,但是where column2=xxx不会使用索引,除非是where column1=xxx and column2=xxx这种当它前面的字段用作检索之后,它本身才能拿来用作检索,这种情况下能使用索引。这就是组合索引的使用方法。
参考资料:
http://stackoverflow.com/questions/707874/differences-between-index-primary-unique-fulltext-in-mysql
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/td901105td/article/details/46828033