【发布时间】:2010-11-30 02:57:57
【问题描述】:
我们正在做一个 MySQL 的小型基准测试,我们想看看它对我们的数据的执行情况。
该测试的一部分是查看当多个并发线程通过各种查询冲击服务器时它是如何工作的。
MySQL documentation (5.0) 并不清楚多线程客户端。我应该指出,我确实链接到线程安全库 (libmysqlclient_r.so)
我正在使用准备好的语句并同时执行读取 (SELECT) 和写入 (UPDATE、INSERT、DELETE)。
- 我应该为每个线程打开一个连接吗?如果是这样:我该怎么做.. 似乎
mysql_real_connect()返回了我调用mysql_init()时得到的原始数据库句柄) - 如果不是:如何确保结果和方法(例如
mysql_affected_rows)返回正确的值,而不是与其他线程的调用发生冲突(互斥锁/锁可以工作,但感觉不对)
【问题讨论】:
标签: c++ mysql c multithreading connection-pooling