mysql_use_result和mysql_store_result http://blog.163.com/zhou_li12/blog/static/184980311201310261

http://blog.163.com/zhou_li12/blog/static/1849803112013102611347933/


mysql_use_result和mysql_store_result  

2013-11-26 11:28:26|  分类: MySql++|举报|字号 订阅

下载LOFTER客户端
同:两者均是连接外部程序处理参数,并返回结果集。
异:从服务器上检索结果集的行,前者只是启动一个逐行的检索,后者从服务器检索结果集的时候就提取了行,并且为之分配内存,存储到客户机中。
操作处理:
mysql_store_result:获取全部数据集保存到本机,因此在随后的mysql_fetch_row()就再也不会返回错误,当返回NULL的时候表示已经到达数据集的末端。
mysql_use_result:本身不检索任何行,而只是启动一个逐行的检索,就是说必须对每一行调用 mysql_fetch_row()自己来完成。因此当出现 NULL是可能是到达数据集末端,也可能是表示在与服务器通信的时候发生错误,可通过mysql_errno()和
mysql_error()将两者区分开来。
适用:
mysql_store_result:较高的内存和处理需求,因为在客户机上维护整个结果集,所以分配的内存和创建数据结构的耗费是非常巨大的。
mysql_use_result:有着较低的内存需求,每次只需给处理的单行分配足够的内存空间,把较大的内存加载到了服务器上。
注意:
mysql_store_result:获取到结果就与服务器脱离关系,因此可以再查询检索。
mysql_use_result:必须到达末端才能进行再次查询。
因此使用那种检索方式还得根据服务器和客户机来综合考虑。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值