1、相关说明
- 准备uc_user表,给字段created_at建立索引
2、开始实验
- 分别执行下面两条sql
select * from uc_user ORDER BY created_at LIMIT 1000,10; // 代表取出1010条数据,然后只要最后10条
select * from uc_user ORDER BY created_at LIMIT 100000,10; // 代表取出100010条数据,然后只要最后10条
结果如下图:
- 从上图看出查询时间差别很大,我给created_at字段建立了索引,为什么怎么慢呢?
接下来我们看一下这两条sql的执行计划,如下sql:
- 从上面图片可以看出,第一条sql使用了索引,而第二条没有,为什么?
因为我们给created_at建立了索引,created_at使用的默认是B+树存储的数据结构,B+树是在叶子节点存储的数据&#