同:两者均是连接外部程序处理参数,并返回结果集。

异:从服务器上检索结果集的行,前者只是启动一个逐行的检索,后者从服务器检索结果集的时候就提取了行,并且为之分配内存,存储到客户机中。
操作处理:
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:必须到达末端才能进行再次查询。
因此使用那种检索方式还得根据服务器和客户机来综合考虑。

mysql_store_result和mysql_use_result相关推荐

  1. mysql_store_result和mysql_use_result的区别

    mysql_store_result() 本次查询的所有结果都缓存到客户端,这样做的好处是可以随意的访问结果中的值,例如可以使用mysql_data_seek() 和mysql_row_seek() ...

  2. 使用 mysql_use_result 还是使用 mysql_store_result

    原文:https://my.oschina.net/moooofly/blog/186456 摘要: 本文整理了关于 MySQL C API 中 mysql_use_result() 和 mysql_ ...

  3. linux程序设计——运行SQL语句(第八章)

    8.3    使用C语言訪问MySQL数据 8.3.3 运行SQL语句 运行SQL语句的主要API函数被恰当的命名为: int mysql_query(MYSQL *connection, const ...

  4. MySQL笔记13:查询结果集

    操作mysql - 查询结果集 1.用mysql进行数据查询的时候,mysql会返回一个结果集给我们,接着我们需要调用mysql的API,从这个结果集中取得我们要的数据.取完数据之后,需要释放这个结果 ...

  5. mysql C语言API接口及实例

    Mysql数据库动态库: libmysql.dll  libmysql.lib mysql.h  WinSock2.h Mysql API数据结构   (mysql.h) MYSQL:连接数据库前,必 ...

  6. C API可使用的函数归纳

    2019独角兽企业重金招聘Python工程师标准>>> mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. my ...

  7. php查询mysql返回大量数据结果集导致内存溢出的解决方法

    web开发中如果遇到php查询mysql返回大量数据导致内存溢出.或者内存不够用的情况那就需要看下MySQL C API的关联,那么究竟是什么导致php查询mysql返回大量数据时内存不够用情况? 答 ...

  8. mysql c api example_The MySQL C API 编程实例

    在网上找了一些MYSQL C API编程的文章,看了后认为还是写的不够充分,依据自己经验写了这篇<The MySQL C API 编程实例>,希望对须要调用到MYSQL的C的API的朋友有 ...

  9. C/C++使用Select检索MySQL中的数据

    首先创建一个表和插入多行数据,如下 Create database demo; Use demo; DROP TABLE IF EXISTS `Students`; CREATE TABLE `Stu ...

  10. linux环境C语言操作数据库

    在实际应用中,我们不可能在命令行登录进数据库进行数据的查询.插入等操作,用户一般是使用一个界面良好的应用程序软件来对数据进行管理.为了方便应用程序的开发,MySQL提供了多种编程语言(C.perl.p ...

最新文章

  1. Android LayoutInflater 源码解析
  2. UINavigationBar 上面添加多个按钮
  3. vue 表单验证按钮事件交由父组件触发
  4. MATLAB的左除\和右除/ ??? 自己没有完全明白
  5. JSPatch defineProtocol 实现详解
  6. HTML怎么限制每行字数,JS实现每行固定字数,自动换行
  7. 关于网页授权的两种scope的区别说明
  8. angular8 设置延时时间
  9. 关于xfce中桌面没法显示回收站以及thunar中无法进行卷管理的解决办法
  10. Video和Audio标签的使用
  11. linux输出 /dev/null
  12. 小程序反编译 g is not defined_阅读技巧 | 如何猜中作者的小心思?
  13. Windows10系统破解多用户同时远程登陆
  14. vue项目中引入外部字体(超详细)
  15. 优酷、爱奇艺视频码率与YouTube视频码率
  16. 【观察】从最佳实践到行业使能,华为HiCampus定义智慧园区
  17. 如何在服务器上运行Recorder.js,录音上传到服务器使用jwagener的recorder.js和recorder.swf...
  18. Linux系统学习方法
  19. Python 设计模式 - 建造者模式
  20. 深度神经网络的训练过程,深度神经网络训练方法

热门文章

  1. Perl 学习手札之十三:building function
  2. ch8 ProviderDemo
  3. 浏览器中调用Linux程序,一个可以使用浏览器通过ssh连接linux的程序
  4. java 序列号 1l_private static final long serialVersionUID=1L 是什么意思
  5. python线程和c++线程的区别_python 多线程和C++多线程的区别
  6. com.netflix.zuul.exception.ZuulException: Forwarding error
  7. gin上传文件服务器,gin-上传文件
  8. C#访问MySQL数据库帮助类
  9. SOA概念的三个比喻
  10. 属性篇(3)—If you love css …