MySQL的C API是否支持批量更新?我正在编写一个应用程序,其中大批量处理某些事务.如果在记录过程中我最终为每个插入执行单个调用DB,那将是非常低效的.
C与批处理SQL更新的Java API有什么相似之处吗?
谢谢,
N.
您有几个选项来帮助加速INSERT
MySQL:
您可以准备查询并使用不同的值执行它.这比为插入的每一行准备和执行查询的开销要少.请参阅" C API准备语句功能概述".
您可以使用一个INSERT
语句插入多行.请参阅" INSERT语法".
您可以使用API支持在一次调用中执行多个语句.请参阅" 多语句执行的C API支持".
您绝对应该使用显式事务(假设您使用InnoDB)来避免每行启动和提交事务的开销.
还有其他一些提高INSERT
" INSERT语句速度" 速度的技巧.
通过实现批量数据加载的最佳性能LOAD DATA INFILE
.这比使用速度快20倍INSERT
.请参阅" LOAD DATA INFILE语法".