C中的MySQL批量更新

时间:2009-03-20 19:32:25

标签: mysql c

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

C是否与Java的批量SQL更新API类似?

谢谢,

<磷>氮

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:-1)

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