MySQL 百万级分页优化(MySQL千万级快速分页)
2022-11-12 09:23:24
内容摘要
这篇文章主要为大家详细介绍了MySQL 百万级分页优化(MySQL千万级快速分页),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!以下分享一点我
文章正文
这篇文章主要为大家详细介绍了MySQL 百万级分页优化(MySQL千万级快速分页),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
以下分享一点我的经验一般刚开始学SQL的时候,会这样写代码如下:
1 2 3 | <code> SELECT * FROM table ORDER BY id LIMIT 1000, 10; </code> |
代码如下:
1 2 3 | <code> SELECT * FROM table ORDER BY id LIMIT 1000000, 10; </code> |
代码如下:
1 2 3 | <code> SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10; </code> |
代码如下:
1 2 3 | <code> SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010; </code> |
代码如下:
1 2 3 | <code> SELECT * FROM table WHERE id IN(10000, 100000, 1000000...); </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <code> $db =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 ; </code> |
注:关于MySQL 百万级分页优化(MySQL千万级快速分页)的内容就先介绍到这里,更多相关文章的可以留意
代码注释