胡彦斌前女友:mysql_unbuffered_query与mysql_query的区别

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 04:48:19
mysql_unbuffered_query: unbuffered顾名思义不缓存,意思就是查询结果不缓存。而大多数人用的mysql_query查询 结果缓存。
mysql_unbuffered_query的好处:第一是节省内存,第二是它不用 等数据获取完全以后操作,直接可以获取一条数据以后就可以操作。它的弊端是 mysql_num_rows() 和 mysql_data_seek()对它无效,原因也在于它不缓存数据。下面是一 个小例子:
PHP代码
$link = mysql_connect('localhost','root','root');
mysql_select_db('phpcms');
$sql = "SELECT * FROM `phpcms_content`" ;
//$result = mysql_unbuffered_query($sql,$link);
$result = mysql_query($sql,$link);
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf  ("ID: %s Name: % s", $row [0], $row[1]);
}
mysql_data_seek($result,0);
echo "
";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf  ("ID: %s Name: % s", $row [0], $row[1]);
}
mysql_free_result($result);
?>
如果 使用mysql_query,则将结果输出两次。若用mysql_unbuffered_query则只能输出结果一次 。