什么是索引?
索引的创建是为了高效的检索数据。
MySQL中索引的优缺点和使用注意点:
优点:
1、任意字段 都可以设置索引。
2、可以大大加快检索速度。
缺点:
1、索引的创建和维护需要耗费时间,并且 这个时间随着数据量的增加而增加。
2、索引需要占用物理空间。
3、当对表数据进行增、删、改操作时,索引也需要动态维护,会耗费一定的时间。
正是因为有这些缺点,所以索引并不是越多越好,而是需要合理的使用
以下几点需要注意:
1、对于经常更新的表不要建立太多的索引,在经常查询的列上应当建立索引。
2、对于数据量较小的表,无需建立索引。
3、对于值重复较多的列不要建立索引,例如性别字段上只有“男”、“女”,相反,在存在着大量不同值的列上可以建立索引。
索引的种类
普通索引:最基本的一种索引,允许在定义索引的列中有重复值和空值,该索引存粹是为了加快查询。
唯一索引:列中的值必须是唯一的,可以有空值。
主键索引:是一种特殊的唯一索引,不可以有空值,一个表中只能有一个。
组合索引:在表中的多个字段组合上创建的索引,遵循最左前缀原则。
全文索引:只有在MyISAM搜索引擎中的CHAR、VARCHAR、TEXT字段上才能设置全文索引。在使用时,需要借助MATCH函数,并且最少要4个字符,如果太短就会被忽略掉。
使用方法:MATCH (“列名”) AGAINST (“值”)
空间索引:空间索引也必须使用MyISAM引擎, 并且空间类型的字段必须为非空,空间索引具体怎么用不太清楚,没遇到过。