MySQL 百万级分页优化(Mysql千万级快速分页)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL 百万级分页优化(Mysql千万级快速分页),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1910字,纯文字阅读大概需要3分钟。
内容图文
=dblink(); $db->pagesize=20; $sql=”select id from collect where vtype=$vtype”; $db->execute($sql); $strpage=$db->strpage(); //将分页字符串保存在临时变量,方便输出 while($rs=$db->fetch_array()){ $strid.=$rs[‘id‘].‘,‘; } $strid=substr($strid,0,strlen($strid)-1); //构造出id字符串 $db->pagesize=0; //很关键,在不注销类的情况下,将分页清空,这样只需要用一次数据库连接,不需要再开; $db->execute(“select id,title,url,sTime,gTime,vtype,tag from collect where id in ($strid)”); <?php while($rs=$db->fetch_array()): ?> <tr> <td> <?php echo $rs[‘id‘];?></td> <td> <?php echo $rs[‘url‘];?></td> <td> <?php echo $rs[‘sTime‘];?></td> <td> <?php echo $rs[‘gTime‘];?></td> <td> <?php echo $rs[‘vtype‘];?></td> <td> <a href=”?act=show&id=<?php echo $rs[‘id‘];?>” target=”_blank”><?php echo $rs[‘title‘];?></a></td> <td> <?php echo $rs[‘tag‘];?></td> </tr> <?php endwhile; ?> </table> <?php echo $strpage;通过简单的变换,其实思路很简单:
1)通过优化索引,找出id,并拼成 “123,90000,12000″ 这样的字符串。
2)第2次查询找出结果。
小小的索引+一点点的改动就使mysql 可以支持百万甚至千万级的高效分页!
通 过这里的例子,我反思了一点:对于大型系统,PHP千万不能用框架,尤其是那种连sql语句都看不到的框架!因为开始对于我的轻量级框架都差点崩溃!只适 合小型应用的快速开发,对于ERP,OA,大型网站,数据层包括逻辑层的东西都不能用框架。如果程序员失去了对sql语句的把控,那项目的风险将会成几何 级数增加!尤其是用mysql 的时候,mysql 一定需要专业的dba 才可以发挥他的最佳性能。一个索引所造成的性能差别可能是上千倍!
PS: 经过实际测试,到了100万的数据,160万数据,15G表,190M索引,就算走索引,limit都得0.49秒。
MySQL 百万级分页优化(Mysql千万级快速分页)
标签:... 支持 表设计 设计 填充 erp 数据库设计 速度 应该
本文系统来源:http://www.cnblogs.com/pengyunjing/p/6591700.html
内容总结
以上是互联网集市为您收集整理的MySQL 百万级分页优化(Mysql千万级快速分页)全部内容,希望文章能够帮你解决MySQL 百万级分页优化(Mysql千万级快速分页)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。