利用主键索引来加速分页查询
如果用物理删除,主键不连续,就不能用主键索引来加速分页,所以只能使用折中的方案
select id, name from bigdata where id >= 9000000 limit 100; # 0s;
select id, name from bigdata where id >= 9000000 and id <= 9000100; # 0s
低性能的 sql分页
select id, name from bigdata limit 9000000, 100; # 3s;
主键值不连续怎么分页优化
主键索引加速
- 利用主键字段的索引,进行加速;索引加速,快速提取出主键值
- 从索引表中提取主键值
- 然后跟业务表做连接,从业务表中,再取出具体的数据
```sql
将查询出来的表当做临时表,子查询
select id from bigdata limit 9000000, 100
临时数据表,做连接
select t.id, t.name from bigdata data join # data 是 bigdata的别名 (select id from bigdata limit 9000000, 100) page # page是 子查询的别名 on t.id = emp.id; ```
限定查询日期
写入1000万条数据
缓冲流
导入 1000万条数据要 10分钟左右
insert into插入语句,是带着事务执行的,很慢你
用文档的方式导入,不带事务的写入数据