利用主键索引来加速分页查询
如果用物理删除,主键不连续,就不能用主键索引来加速分页,所以只能使用折中的方案

  1. select id, name from bigdata where id >= 9000000 limit 100; # 0s;
  2. select id, name from bigdata where id >= 9000000 and id <= 9000100; # 0s

低性能的 sql分页

  1. select id, name from bigdata limit 9000000, 100; # 3s;

主键值不连续怎么分页优化

image.png
主键索引加速

  • 利用主键字段的索引,进行加速;索引加速,快速提取出主键值
  • 从索引表中提取主键值
  • 然后跟业务表做连接,从业务表中,再取出具体的数据 ```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; ```

限定查询日期

  • 禁止查询太靠后的数据
  • 百度只能查询 76条

    image.png

写入1000万条数据

缓冲流
image.png
导入 1000万条数据要 10分钟左右
insert into插入语句,是带着事务执行的,很慢你
用文档的方式导入,不带事务的写入数据