【发布时间】:2014-12-11 16:12:08
【问题描述】:
我有一个用“C”编写的应用程序 - debian 发行版(使用 libmysqlclient)。我的应用程序正在向数据库中插入大量行(大约 30.000 行/秒,行长 ~ 150 B)。插入会占用大量 CPU,因为客户端(我的应用程序)必须将二进制流(整数、blob)转换为 ASCII 表示形式,以转换为有效的 SQL 插入语句。 MySQL 还必须将这些值转换为二进制表示形式并将其存储到文件中。
还有我的问题。是否有可能在没有此对话的情况下调用 SQL 插入?我一直在使用经典的 sprintf(在 libc 中实现)。现在,我正在使用优化版本和 不调用 sprintf (太多的 func 调用)。我以为我会使用 MySQL 准备好的语句,但似乎准备好的语句也可以转换 '?' ASCII 变量。
一月
【问题讨论】: