学习啦>学习电脑>电脑故障>电脑故障现象>系统变慢>

MYSQL分页limit速度太慢有什么优化方法

加城分享

  我们使用电脑和手机时候最不能忍受就是设备又卡又慢了,严重影响我们工作或者游戏体验。在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦。这篇文章主要介绍了MYSQL分页limit速度太慢的优化方法,需要的朋友可以参考下

  方法步骤

  当一个表数据有几百万的数据的时候成了问题!

  如 * from table limit 0,10 这个没有问题 当 limit 200000,10 的时候数据读取就很慢,可以按照一下方法解决

  第一页会很快

  PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”EfficientPagination Using MySQL”的报告

  limit10000,20的意思扫描满足条件的10020行,扔掉前面的10000行,返回最后的20行,问题就在这里。

  LIMIT 451350 , 30 扫描了45万多行,怪不得慢的都堵死了。

  但是

  limit 30 这样的语句仅仅扫描30行。

  那么如果我们之前记录了最大ID,就可以在这里做文章

  举个例子

  日常分页SQL语句

  select id,name,content from users order by id asc limit 100000,20

  扫描100020行

  如果记录了上次的最大ID

  select id,name,content from users where id>100073 order by id asc limit 20

  扫描20行。

  总数据有500万左右

  以下例子 当时候 select * from wl_tagindex where byname='f' order by id limit 300000,10 执行时间是 3.21s

  优化后:

  select * from (

  select id from wl_tagindex

  where byname='f' order by id limit 300000,10

  ) a

  left join wl_tagindex b on a.id=b.id

  执行时间为 0.11s 速度明显提升

  这里需要说明的是 我这里用到的字段是 byname ,id 需要把这两个字段做复合索引,否则的话效果提升不明显

  补充:解决系统变慢的常用技巧方法

  1、在我的电脑窗口,右击要清理的盘符―“属性”―“清理磁盘”--勾选要删除的文件--确定--是。

  2、右键浏览器e――属性――点2个删除1个清除(都要逐一确定)――确定 。

  3、把C:\WINDOWS\Prefetch(预读文件)把里面的文件全部删除

  4、用优化大师或超级兔子清理注册表和垃圾文件。

  5、“开始”――运行中输入msconfig――确定――启动――除了输入法ctfmon以外的勾全去掉。

  6、右键我的电脑”――属性――点高级――点启动和故障恢复中的设置――去掉所有的勾――写入调试信息选择“无”――确定――点高级下面错误报告――点禁用――2次确定。

  7、“开始”..打开控制面板中的文件夹选项..点查看..点去末项自动搜索文件夹前面的勾..确定。

  8、右键我的电脑――属性――硬件――设备管理器――双击IDE控制器――次要通道――高级设置――传送模式都选DMA――设备类型选无――确定――主要通道也同样设置――确定。

  9、右键C盘进行磁盘清理和其它选项中的系统还原清理。

  10、删除不用的程序软件。


limit速度太慢有什么优化方法相关文章:

1.PPT文字太多有哪些优化方法

2.Windows7系统优化方法 不在嫌开机慢

3.有什么方法可以彻底优化电脑

4.Win10必做的优化方法有哪些

5.硬盘怎么优化

    4036315