Mysql百万数据

两种引擎的区别:

InnoDB: 插入速度快,不保存表中的具体行数,也就是说 执行select count(*) from table时,InnoDB要扫描一遍整个表来计算行数;

MyisAm:查询速度快,只需简单的读出保存好的行数即可;

分页问题:

使用普通分页速度比较慢:  

select * from news order by id desc limit 1000000,10

改进方案一:

select * from news 
where id >  (select id from news order by id desc  limit 1000000, 1)
order by id desc
limit 0,10

查询速度明显提高,原理是:使用条件对id进行了筛选,在子查询 (select id from news order by id desc limit 10000000,1)

中我们只查询了id这一个字段,比起select * 或者select 多个字段节省了大量的查询开销!

改进方案二: 适合id连续的系统,速度极快

select * from news 
where id  between 1000000 and 1000010
order by id desc

MyAnswer博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论