【问题标题】:MySQL Batch Updates in CC 语言中的 MySQL 批量更新
【发布时间】:2009-03-20 19:32:25
【问题描述】:

MySQL 的 C API 是否支持批量更新?我正在编写一个应用程序,其中某些事务被大批量处理。如果在记录过程中我最终为每个插入执行单个调用 DB,那将非常低效。

C 是否有任何类似于 Java 的 API 用于批量 SQL 更新?

谢谢,

N.

【问题讨论】:

    标签: mysql c


    【解决方案1】:

    您有几个选项可以帮助加快 MySQL 中的 INSERT

    【讨论】:

      【解决方案2】:

      是的,尽管它没有任何单独的功能。看看:
      http://dev.mysql.com/doc/refman/5.0/en/c-api-multiple-queries.html

      您必须指定 mysql_real_query() 应该解析多个由 ; 分隔的语句提前,通过在连接或使用mysql_set_server_option()时启用标志。

      mysql_set_server_option(&mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON);
      

      这就是php实现mysqli_multi_query()的方式:

      PHP_FUNCTION(mysqli_multi_query)
      {
          // ...
          MYSQLI_ENABLE_MQ;
          if (mysql_real_query(mysql->mysql, query, query_len)) {
              // ...
              MYSQLI_DISABLE_MQ;
              // ...
      
              RETURN_FALSE;
          }
          RETURN_TRUE;
      }
      

      MYSQLI_ENABLE_MQ 宏的计算结果为我在上面提供的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-14
        • 2011-09-06
        • 2014-01-05
        • 2012-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多