MySql索引种类以及使用注意事项

索引类型:

1.普通索引
最常使用的索引,
create index index_name on table_name(col_name(length))
2.唯一索引
和普通索引类似。索引列值唯一,和主键不同,允许有空值
create unique index index_name on table_name(col_name(length))
3.全文索引
仅适用于MyISAM的存储引擎存储的表,用于解决like查询低效问题,但只是"xxx%"这样的like查询。
create fulltext index index_name on table_name(col_name(length))
4.组合索引
sql语句中经常会用到比较多的查询条件,这就需要组合索引,例如select * from tb_stu where age=xxx and college=xxx; 如果将age和college创建组合索引(alter table tb_stu add index index_age_college(age,college)),实际相当于创建了age,age和college的组合索引这两种索引

关于优化

索引大大提高了查询速度,但是当进行增删改操作时,也会因为维护索引而降低他们的速度,而且在一些大表中建立不必要的索引也会使索引文件迅速膨胀
1.索引不包含null值列
你的索引列中有一行是null的话,查询将不会查找到他,建议建表时该列会有默认值
2.使用段索引
如果你的一个字段长度很大,建议使用短索引,即在上述创建语句中使length有值,例如一个长255的varcher,索引长度定在10-20之间就可以了,短索引可以加快查询速度和对索引文件的维护速度
3.使用全文索引优化like查询
"xxx%"这样的like查询语句可以建立全文索引
4.不要再索引列上进行运算操作
这样会导致全表扫描,索引将不会起到作用。
5.千万千万不要在重复数据多的字段建立索引,实在不行就分表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值