分享

mysql_unbuffered_query与mysql_query的区别

 chilung 2011-01-06

mysql_unbuffered_query: unbuffered顾名思义不缓存,意思就是查询结果不缓存。而大多数人用的mysql_query查询 结果缓存。

mysql_unbuffered_query的好处:第一是节省内存,第二是它不用 等数据获取完全以后操作,直接可以获取一条数据以后就可以操作。它的弊端是 mysql_num_rows() 和 mysql_data_seek()对它无效,原因也在于它不缓存数据。下面是一 个小例子:

PHP代码
  1. <?php   
  2. $link = mysql_connect('localhost','root','root');   
  3. mysql_select_db('phpcms');   
  4. $sql = "SELECT * FROM `phpcms_content`" ;    
  5. //$result = mysql_unbuffered_query($sql,$link);   
  6. $result = mysql_query($sql,$link);   
  7.   
  8. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {   
  9.         printf  ("ID: %s Name: % s"$row [0], $row[1]);   
  10.   
  11. }   
  12. mysql_data_seek($result,0);   
  13. echo "<br/>";   
  14. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {   
  15.         printf  ("ID: %s Name: % s"$row [0], $row[1]);   
  16. }   
  17.   
  18.     mysql_free_result($result);   
  19. ?>   

如果 使用mysql_query,则将结果输出两次。若用mysql_unbuffered_query则只能输出结果一次 。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多