用C语言实现MySQL批量更新

0kjbasz6  于 7个月前  发布在  Mysql
关注(0)|答案(2)|浏览(99)

MySQL的C API支持批量更新吗?我正在编写一个应用程序,其中某些事务是以大批量进行处理的。如果在日志记录过程中,每次插入都执行一次调用DB,那么效率将非常低。
C语言有没有类似于Java的API用于批量SQL更新?
谢谢你,
N.

pqwbnv8z

pqwbnv8z1#

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

jvidinwx

jvidinwx2#

是的,有,即使没有任何单独的功能。看看:
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宏的计算结果是我上面提供的代码。

相关问题