索引——提高数据库的性能
只要执行正确的 create index ,查询速度就可能提高成百上千倍;但是,查询速度的提高是以插入、更 新、删除的速度为代价的,这些写操作,增加了大量的IO;所以它的价值,在于提高一个海量数据的检索速度。
常见索引分类:
主键索引(primary key)
唯一索引(unique)
普通索引(index)
全文索引(fulltext)
基本原理:
没有索引进行的是整表扫描,添加索引后,索引会形成一棵二叉树,通过二分法查找的思想,提升查找速度。
索引是以空间换时间。
创建索引(示例)
创建索引
1.创建主键索引
方法1
方法2
方法3
主键索引特点:
一个表中,最多有一个主键索引,当然可以符合主键;
主键索引的效率高(主键不可重复);
创建主键索引的列,它的值不能为null,且不能重复;
主键索引的列基本上是int.
2.创建唯一索引
方法1
方法2
方法3
唯一索引的特点:
一个表中可以有多个唯一索引;
查询效率高;
如果在某一列建立唯一索引,必须保证这列不能有重复元素;
如果一个唯一索引上指定not null,等价主键索引.
3.创建普通索引
方法1
方法2
方法3
普通索引的特点:
一个表中可以有多个普通索引;
如果某列需要创建索引,但有重复的值,就应该使用普通索引.
4.创建全文索引
当对文章字段或有大量文字的字段进行检索时,会使用到全文索引.
MySQL提供全文索引机制,但是有要求,要求表的存储引擎必须是MyISAM,而且默认的全文索引支持英文,不支持中文。如果对中文进行全文检索,可以使用 sphinx的中文版(coreseek).
MySQL数据库——索引
最新推荐文章于 2024-06-17 20:22:29 发布