mysql_use_resultmysql_store_result异同点:

  通过mysql_use_result取回结果集时,并没有像mysql_store_result那样实际把结果集读到client. 每行必须通过调用mysql_fetch_row()来取回.server上并没有把结果存储在临时表或者本地的缓冲区中,而是直接从server上读取查询的结果.所以它比mysql_store_result稍微快些,内存使用也相对少些. 这样client分配的内存只需要能满足current row 加上最大可以达到
max_allowed_packet字节大小的communication buffer就足够.

  假如你需要在client端对每行结果做很多的处理,或者输出到用户可以按^s来停止滚屏的屏幕上,那么就不适合用mysql_use_result.因为这样将挂起server和阻止其他thread更新对应数据的表.

  当通过使用mysql_use_result来取回结果时,你必须执行mysql_fetch_row()直到返回NULL,否则未被取回的数据将被包含在下一次查询结果中. 假如你忘记了, c api将给出错误"Commands out of sync; you can't run this command now"!

  通过mysql_use_result来取回所有结果(即mysql_fetch_row()返回NULL)之前,是不能使用msyql_data_seek(),mysql_row_seek(),mysql_row_tell(),mysql_num_rows(),mysql_affected_rows()的.(然而,在取回所有行后,mysql_num_rows()是可以正确返回取回的行数的).

转载于:https://www.cnblogs.com/coderyoyo/archive/2011/02/21/mysql_result.html

mysql_use_result与mysql_store_result异同点相关推荐

  1. Mysql_use_result和Mysql_store_result

    **mysql_store_result()**从服务器上检索结果集时,就提取了行,并为之分配内存,存储到客户机中,随后调用 mysql_fetch_row() 就再也不会返回错误,因为它仅仅是把行脱 ...

  2. 使用 mysql_use_result 还是使用 mysql_store_result

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

  3. mysql_store_result和mysql_use_result的区别

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

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

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

  5. commands out of sync mysql,MySQL-python: Commands out of sync

    在给 MySQL 数据库访问层增加新功能时遇到了这样的错误: ProgrammingError: (2014, "Commands out of sync; you can't run th ...

  6. MySQL常见错误码

    2019独角兽企业重金招聘Python工程师标准>>> 自建MySQL环境主机 主机:iZbp1e*****krn92qrx0Z 内网ip: 10.26.254.217 客户端ecs ...

  7. 关于Mysql使用时出现部分错误的总结

    最近进行mysql开发时,遇到了一些比较常见的错误,但根据网上的一些解决方法没有办法解决,最后自己不断调试而解决掉了,特记录一下. 一.mysql lost connection during que ...

  8. mysql error:2014 Commands out of sync; you can't run this command now

    最近在项目中经常会出现数据库操作失败的,日志抛出的错误的 Commands out of sync; you can't run this command now.但是把具体的这条sql语句放到可视化 ...

  9. 使用C语言访问MySQL数据库基础

    使用C语言访问MySQL数据库基础 一.MySQL管理 包含在MySQL发行版中的一些有用的工具程序使管理工作变得相当容易. 除mysqlshow命令以外,所有的MySQL命令都接受所示的3个标准参数 ...

  10. mysql执行存储过程exec_mysql 执行存储过程 exec

    mysql实时同步到mssql的解决方案 数据库在应用程序中是必不可少的部分,mysql是开源的,所以很多人它,mssql是微软的,用在windows平台上是非常方便的,所以也有很多人用它.现在问题来 ...

最新文章

  1. 在报文摘要算法MD5中,首先要进行明文分组与填充,其中分组时明文报文摘要按照(42)位分组。【答案】C
  2. Java中New一个对象是个怎么样的过程?
  3. html如何禁止用户缩放,html如何禁止页面缩放
  4. 动态库和静态库的创建
  5. 是否将网址设置为主页 的代码实现?
  6. Codeforces Global Round 12 E. Capitalism 差分约束
  7. Java在几乎所有方面都可以胜任本机响应
  8. 物种分布模型_减少物种分布建模中的空间自相关
  9. 从底层重学 Java 之 BigInteger 大整数 Gitchat连接
  10. mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
  11. CoreSeek详细入门教程
  12. 研发部工作日志使用教程
  13. Alibaba Cloud Linux 搭建Frp内网穿透服务(兼容Centos)
  14. BypassDEP(数据执行保护)
  15. Java歌手评分系统
  16. 智能无人避障系统学习路线
  17. GO运行时报错: cannot find package “.“ in:
  18. 教大家如何清理C盘~
  19. 深度学习笔记----计算机视觉的任务及对应的网络模型
  20. UNR #1 火车管理

热门文章

  1. Elasticsearch中的嵌套查询介绍及实例
  2. tpc三次握手与四次挥手
  3. 无法验证的代码未能通过策略检查
  4. MFC-CFileException类学习笔记
  5. linux下pcap文件解析头文件,在Linux下操作pcap文件的各种方法整理
  6. java static 可见性_java可重入锁可见性分析
  7. pyqsplitter 保持一个窗口不能拖动_Axure教程:左侧导航如何自适应浏览器窗口高度?...
  8. python画龙猫_微信小程序支付demo,后端使用python
  9. ORACLE中如何查找定位表最后DML操作的时间小结
  10. 搞大啦!精灵云与全球最大孵化器PNP带你一起飞