1

我正在编写需要与 mysql 通信的应用程序。它是一个使用 epoll linux 系统调用来多路复用客户端的单线程应用程序,但问题是每当我对数据库进行(大量)查询时,一切都会停止。所以我想从 mysql 获取实际的套接字并将其放入我的 epoll 中,这样我也可以多路复用数据库。那可能吗?

4

2 回答 2

1

文章http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/回答了这个问题。适用于 MySQL 5.6。

于 2011-09-16T10:46:02.383 回答
0

比这复杂一点。如果“一切都停止了”(只能猜测您在技术上的意思),那么您的 MySQL 服务器可能已经超载。多路复用单个连接不仅可能不起作用,而且也无法解决这个根本问题。

相反,请修复您的查询和索引,以免发生巨大的表扫描和文件排序。

于 2011-09-16T10:13:17.413 回答