mysql建立索引后究竟可以有多快!

sql优化有很多学问,其中建立索引是提升查询速度很重要的一条;

然后我就心血来潮测试了下;下面是表的结构,总共12.1万条的样子,一开始我没有添加索引,后面分别给id和city添加了唯一hash索引与普通的btree索引,然后大致试了下;

--唯一主键未建立索引0.012
SELECT * from house_info where id=3000;

--唯一主键建立HASH索引0.009
SELECT * from house_info where id=3000;

--唯一主键未建立索引0.383
SELECT * from house_info where id>3000;
--唯一主键建立HASH索引0.394
SELECT * from house_info where id>3000;
--0.164
SELECT * from house_info where city='保定';

--没建立索引0.045
SELECT id,city from house_info where city='保定';

--建立索引0.0002
SELECT id,city from house_info where city='保定';

--0.010
SELECT * from house_info where city='保定';

对于已经是唯一主键的id来说建立hash索引可以微微的增加查询速度;同时需要注意hash并不支持范围查询,

对于非唯一索引,从0.164s提升到了0.01s提升了16倍;效果显著;

与此同时,尝试只查询索引部分字段,发现速度上升到了惊人的0.0002s;像类似用户角色关联表,角色权限关联表;都是可以用的,简直屌的不行...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值