测试数据2000万,当我使用如下的一个SQL时,
select count(1)
from t_member
where birthday between '1997-09-14' and '2007-09-14';
如果不创建索引,这个SQL将会在1s之后返回结果(2500817条记录),如果通过以下脚本
create index t_member_birthday_index
on t_member (birthday);
创建索引之后,这个时间消耗将会上升为9s,query explain也显示了这一问题,但是对于SQL
select *
from t_member
where birthday >= '1997-09-14' and birthday <= '2007-09-14'
order by birthday desc
建立索引之后明显比不建立索引更快,对于这种问题改如何解释并进行优化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。