跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Php+MySql分页机制两种方案的比较测试:

mysql|比较|分页硬件环境:PIII550,128M,15.2G软件环境:Win98+Apache+Php4+MySql

方案一:

1.第一次查询时用Select count(1) from tab where condition 取得满足条件的记录数$rows

2.通过前页数$page,每页记录数$rpp取回记录集

select * from tab where condition limit ($page-1)*$rpp,$rpp

3.显示返回记录集的所有记录。

4.页面转移时将$rows传递给以后页面。

方案二:

1.取回满足条件的记录集

select * from tab where condition

2.移动指针到($page-1)*$rpp

3.显示$rpp条记录

==============+======+==============================================+======+======+========记录数    | 方案 | 次数   1   2   3   4   5   6   7   8   9   0 | 平均 | 平均 | 效率比==============+======+==============================================+======+======+========|      |第一页  2 , 1 , 1 , 2 , 1 , 1 , 2 , 2 , 1 , 2 |  1.3 |      ||  一  +----------------------------------------------+------+  1.6 |10000条记录时 |      |其它页  2 ,2 , 2 , 3 , 1 , 1 , 2 , 2 , 2 , 2 |  1.9 |      | 4.8125+------+----------------------------------------------+------+------+|  二  |每一页  7 , 7 , 7 , 8 , 8 , 8 , 8 , 8 , 8 , 8 |  7.7 |  7.7 |==============+======+==============================================+======+======+========|      |第一页 25,  2 , 3 , 2 , 21, 16, 9 , 20, 9 , 9 |  1.6 |      ||  一  +----------------------------------------------+------+  7.5 |20000条记录时 |      |其它页  6 , 6 , 2 , 2 , 4 , 4 , 4 , 1 , 2 , 2 |  3.3 |      | 6.6533+------+----------------------------------------------+------+------+|  二  |每一页 54, 50, 37, 46, 49, 47, 52, 50, 55, 59 | 49.9 | 49.9 |==============+======+==============================================+======+======+========|      |第一页 34, 35, 24, 21, 21, 21, 22, 22, 21, 21 | 25.2 |      ||  一  +----------------------------------------------+------+ 25.95|30000条记录时 |      |其它页 14, 27, 40, 39, 37, 33, 22, 30, 14, 11 | 26.7 |      | 3.3372+------+----------------------------------------------+------+------+|  二  |每一页 92, 90, 83, 78, 93, 83, 91, 79, 89, 88 | 86.6 | 86.6 |==============+======+==============================================+======+======+========

相关文章