phpMSSQL实现高效分页技术(php实现分页mssql)

php和MSSQL高效分页技术是使用php和MSSQL组合,实现快速的高效的分页技术。 通过使用php和MSSQL,可以实现两种方式的高效分页技术:分页SQL和缓存式分页。

一、分页SQL

分页SQL技术采用对记录进行物理分页的方式,使用MSSQL中的特定sql语句实现记录的分页,具体实现方法如下:

1、使用select top n语句

首先使用select top n语句,该语句有两个参数,n表示获取记录的个数,语句会返回最多n条记录,代码如下:

“`

$sql_select=”SELECT TOP 5 * FROM User”;

/* 执行查询,获取记录 */

$str_result=sqlsrv_query($conn,$sql_select);

while($row=sqlsrv_fetch_array($str_result))

{

echo $row[“UserName”];

}


2、使用Offset语句
Offset语句可以用来偏移分页的记录,可以通过指定offset位置来跳过前面的记录,然后获取指定的记录,代码如下:
```
$ OFFSET_num=5; //跳过前面5条记录
$sql_select="SELECT * FROM User ORDER BY user_id OFFSET $OFFSET_num ROWS";
/* 执行查询,获取记录 */
$str_result=sqlsrv_query($conn,$sql_select);
while($row=sqlsrv_fetch_array($str_result))
{
echo $row["UserName"];
}

二、缓存式分页

缓存式分页使用php的缓存技术向客户端发送记录的内容,因此不需要每次都从MSSQL中取出数据,提升页面响应速度, 代码如下:

//开始计时
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];
/* 分页参数 */
$page_size = 10; //每页显示条数
$page_num = isset($_GET['page'])?$_GET['page']:1; //当前页

/* 从MSSQL中取出记录 */
$sql_select="SELECT * FROM User ORDER BY user_id ";
$str_result=sqlsrv_query($conn,$sql_select);

/* 将记录以json格式缓存 */
$data=array();
while($row=sqlsrv_fetch_array($str_result))
{
$data[]=$row;
}
/* 将记录以json格式缓存 */
$cache_data=json_encode($data);
/* 读取缓存,发送记录 */
$start=($page_num-1)*$page_size;
$end($start+$page_size);
echo substr($cache_data,$start,$end);
/* 结束计时 */
$mtime = explode(' ', microtime());
$endtime = $mtime[1] + $mtime[0];
$totaltime = sprintf('%.3f',$endtime-$starttime);

以上就是使用php和MSSQL实现高效分页技术的shuoming,可以根据实际情况选择不同的方式进行记录的分页,省去了大量的业务逻辑处理,提升了页面的执行效率。


数据运维技术 » phpMSSQL实现高效分页技术(php实现分页mssql)