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