MySQL索引

来源:互联网 发布:js获取访问者ip地址 编辑:程序博客网 时间:2024/06/14 07:03

数据库操作中,经常需要查找特定的数据,MySQL数据库必须从第一条记录开始遍历,知道找到,这样的效率显然非常低,为此,MySQL允许建立索引来加快数据表的查询和排序。

索引的概念

数据库的索引,类似新华字典的音序表,是对数据库表中一列或多列的值进行排序后的一种结构,作用是提高表中数据的查询速度。
MySQL中索引分类

普通索引

是由KEY或INDEX定义的索引
它是MySQL中的基本索引类型,可以创建在任何数据类型中,其值是否唯一和非空由字段本身的约束条件所决定。
比如,在grade表的stu_id字段上,建立一个普通索引,查询记录时,就可以根据该索引进行查询了。

唯一性索引

是由UNIQUE定义的索引
该索引所在字段的值必须是唯一的。
比如,在grade表的id字段上,建立唯一性索引,那么,id字段的值就必须是唯一的。

全文索引

是由FULLTEXT定义的索引
只能创建在CHAR、VARCHAR或TEXT类型的字段上,并且,目前只有MYISAM存储引擎支持全文索引。

单列索引

是指在表中的单个字段上创建索引
它可以是普通索引、唯一索引或者全文索引,只要保证该索引只对应表中的一个字段即可。

多列索引

是指在表中,多个字段上创建索引
只有在查询条件中,使用了这些字段中的第一个字段时,该索引才会被使用。
比如,在grade表的id、name和score字段上创建一个多列索引,那么,只有查询条件中使用了id字段时,该索引才会被使用。

空间索引

是由APATIAL定义的索引,只能创建在空间数据类型的字段上。
MySQL中空间数据类型,包含4种,分别为GEOMETRY、POINT、LINESTRING和POLYGON
注意,创建空间索引的字段,必须将其声明为NOT NULL,并且,空间索引只能在存储引擎为MYISAM的表中创建。

缺点

虽然,索引可以提高数据的查询速度,但是,索引会占用一定的磁盘空间。
并且,在创建和维护索引时,消耗的时间是随着数据量的增加而增加的,因此,使用索引时,应该考虑其优点和缺点。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 减肥减的头晕怎么办 剧烈运动后眩晕怎么办 剧烈运动后头昏怎么办 锻炼完头晕恶心怎么办 没休息好头疼怎么办 人的体力不好怎么办 反胃怎么办 吃什么好 怀孕恶心想吐怎么办 nba篮球大师破产怎么办 记忆力差反应迟钝怎么办 脑子笨记性不好怎么办 产后脑子不好使怎么办 老人脑子不好使怎么办 脑子不好使怎么办搞笑 脑子不好使了怎么办 最近脑子不好使怎么办 感觉自己好笨没脑子怎么办 脑子浑浊不清晰怎么办 30岁体力下降怎么办 皮肤差毛孔粗大怎么办 最近身体素质越来越差怎么办 身体素质差容易感冒怎么办 易疲惫犯困体质怎么办 成年狗体力不行怎么办 累了体力不支怎么办 新兵连成绩不合格怎么办 征兵体检血压高怎么办 魔域手游幻兽亲密度过低怎么办 移动账号被锁定怎么办 魔域手游账号被冻结怎么办 魔域手游没用的装备怎么办 5173账号三年找回怎么办 电脑的任务栏不见了怎么办 减肥出现瓶颈期怎么办 减肥到瓶颈期怎么办 减脂皮肤松弛怎么办 减肥期间上火了怎么办 涂了瘦身霜好辣怎么办 站起来就头晕怎么办 蹲了起来头晕怎么办 蛙跳后大腿疼怎么办