当前位置:数据库 > SQLServer >>

我写这个php+mssql分页代码,能经受大数据量的考验吗

<?php //连接数据库 $myServer = "192.168.0.123"; //主机 $myUser = "sa"; //用户名 $myPass = ""; //密码 $myDB = ""; //MSSQL库名 $s = mssql_connect($myServer, $myUser, $myPass) ; $d = mssql_select_db($myDB, $s); //分页信息\ $biao="yonghujiben"; $xianshi=30;//每页显示的条数 //打开用户表,这个表主要是计算又总共又多少条记录,能分几页 $sql="select * from $biao"; $query= mssql_query($sql); $zongshu=mssql_num_rows($query); $yeshu=ceil( $zongshu/$xianshi);//去当前小数的最大整数 echo "共有 $yeshu 页"; if ($page=="" or $page>$yeshu or $page<0 or $page==0) { $page2=1; } else { $page2=intval($page);//将页码转换为数字 } //$page2=intval($page);//将页码转换为数字 echo $seek=$xianshi*($page2-1); echo "<br>"; echo $xianshi; $top_shuzi=$page2*$xianshi; //这个表用户显示数据 $sql_e="SELECT top $top_shuzi * from $biao"; $query_e= mssql_query($sql_e); echo "<br>"; mssql_data_seek($query_e,$seek); while($rs=mssql_fetch_object($query_e)) { //print_r($row); echo $rs->qq; echo "<br>"; } ?> <?php $xianshiye=8;//显示当前页面一次显示几页 $i=$xianshiye+($page2-1); if ($i>$yeshu) { $i=$yeshu;} if ($page2>1) { $shangyiye=$page2-1; echo" <a href='$PHP_SELF?page=$shangyiye '>上一页</a>\n";} if ($page2-$xianshiye<1 or $page2-$xianshiye==0 ) { $qq=1; } else { $qq=$page2-$xianshiye; } for($y=$qq;$y<=$page2-1;$y++) { echo "<a href=$PHP_SELF?page=$y>[$y]</a>\n"; } for($y=$page2;$y<=$i;$y++) { echo str_replace("<a href=$PHP_SELF?page=$y>[$page2]</a>", " <strong> $y </strong>", "<a href=$PHP_SELF?page=$y>[$y]</a>\n"); //echo "<a href=$PHP_SELF?page=$y>$y</a>\n"; } if ($page2==$yeshu) { } else { $xiayiye=$page2+1; echo" <a href='$PHP_SELF?page=$xiayiye '>下一页</a>";} ?>
补充:下面2的答案,是不是这个意思,  我先用count(*) 统计一下这个表里总共又多少行记录,然后建立一个临时字段,然后再把这个临时字段的数值给读出来,用于分页页数的计算

我改成这样可以吗
$sql="select count(*) 临时字段 from 表"; 



3的回答好像是mysql数据里的limit把,sql数据库里没有这个东西,

要是数据库里又个几百万条记录,用这个回不回慢
答案:经不住大数据量的考验。

建议将
$sql="select * from $biao"; 
$query= mssql_query($sql)

改为
$sql="select count(*) from $biao"; 
$query= mssql_query($sql)
其他:能 不能,太普通了,请分析一下sql 中 limit的用法。
也就是利用limit(x,y)的方法读取部分记录。
如果你可以独立写出上面的代码的话。我相信写一个SQL的也不会很难。

上一个:大流量网站,用ASP+MSSQL开发好,还是用php+mysql开发好?
下一个:MSSQL 2005与2000同步的问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,