mysql_unbuffered_query和mysql_query各自优势? http://bbs.chinaunix.net/viewthread.php?tid=958067 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mysql_unbuffered_query() 向 MySQL 发送一条 SQL 查询 query,但不像 mysql_query() 那样自动获取并缓存结果集。一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。当使用多个数据库连接时,必须指定可选参数 link_identifier。 注意: mysql_unbuffered_query() 的好处是有代价的:在 mysql_unbuffered_query() 返回的结果集之上不能使用 mysql_num_rows() 和 mysql_data_seek()。此外在向 MySQL 发送一条新的 SQL 查询之前,必须提取掉所有未缓存的 SQL 查询所产生的结果行。 1、mysql_query自动缓存结果集,mysql_unbuffered_query()不是(从字面上不难看出)2、对返回结果集排序先后问题mysql_query是把所有符合条件的结果集取完了后,再排序mysql_unbuffered_query是取出第一条以后就开始排序很明显,两个各有优势,对于大的数据集来说mysql_unbuffered_query非常节约内存,但是对于小的数据集及普通的应用还是mysql_query比较实用 具体的LZ可以看PHPchina的英文手册下面 有很多人提问和简单简单的来讲:mysql_unbuffered_query和mysql_query的区别是什么?$result=mysql_unbuffered_query($sql);mysql一边查询数据库 一旦匹配一条结果 就返还一行 存在内存里面 接着继续查找,返还这个时候你可以利用这个结果(单行做其他处理)$result=mysql_query($sql);mysql会处理完所有匹配 然后返还一个结果集给PHP(或者其他脚本)处理工作机制如何?各自的长处在哪里?比如说你有1亿行数据 要匹配,而你只想查到一个匹配数据 就OK,那么你就可以用mysql_unbuffered_query,查到一个数据,就可以马上处理,然后用mysql_free_result释放资源。而mysql_query必须匹配所有的数据才返回数据集供你继续操作另外MYSQL手册里面提到一个很重要的信息,就是你用mysql_unbuffered_query 返回一条数据后,再用mysql_free_result释放资源,MYSQL还是要继续查询省下的操作,也就是返回所有的数据,然后在释放资源所以我觉得mysql_unbuffered_query的优点更主要在及时反应,不需要等待,当数据量少或者你需要查询的东西少的时候而mysql_query则在需要查询匹配大量的数据集时候 比较有优势。 想学php,大家给点意见,迷----惘----中! 如何采集http://www.haha.mx/的首页 请问搞php开发什么ide最强大 在LINUX环境下,安装PHP的MBSTRING模块 再问~~ 关键字:PHP、mysql、中文、乱码 windows下配置php的疑惑,高手帮忙解答???? 初学者,问各位高手一个问题 sv() 是干嘛的???????????? 有谁研究Typo3吗? 帮帮我! 》》》》PHP 可以支持 JAVA 啦!!!《《《《 很多网站把http前的小图标都改变了,请问是如何做的?我也搜索了下。 jquery aiax php 传递数组的问题,请教
2、对返回结果集排序先后问题
mysql_query是把所有符合条件的结果集取完了后,再排序
mysql_unbuffered_query是取出第一条以后就开始排序
很明显,两个各有优势,对于大的数据集来说mysql_unbuffered_query非常节约内存,但是对于小的数据集及普通的应用还是mysql_query比较实用
简单的来讲:
mysql_unbuffered_query和mysql_query的区别是什么?
$result=mysql_unbuffered_query($sql);
mysql一边查询数据库 一旦匹配一条结果 就返还一行 存在内存里面 接着继续查找,返还
这个时候你可以利用这个结果(单行做其他处理)$result=mysql_query($sql);
mysql会处理完所有匹配 然后返还一个结果集给PHP(或者其他脚本)处理工作机制如何?各自的长处在哪里?比如说你有1亿行数据 要匹配,而你只想查到一个匹配数据 就OK,那么你就可以用mysql_unbuffered_query,查到一个数据,就可以马上处理,然后用mysql_free_result释放资源。而mysql_query必须匹配所有的数据才返回数据集供你继续操作另外MYSQL手册里面提到一个很重要的信息,就是你用mysql_unbuffered_query 返回一条数据后,再用mysql_free_result释放资源,MYSQL还是要继续查询省下的操作,也就是返回所有的数据,然后在释放资源
所以我觉得mysql_unbuffered_query的优点更主要在及时反应,不需要等待,当数据量少或者你需要查询的东西少的时候而mysql_query则在需要查询匹配大量的数据集时候 比较有优势。