我正在写的应用程序,需要与mysql通信。这是一个使用epoll linux系统调用的单线程应用程序,用于多路复用客户端,但问题是,每当我对数据库进行(繁重的)查询时,一切都会停滞。所以我想从mysql中获取实际的套接字,并将其放入我的epoll中,这样我也可以多路复用数据库。这有可能吗?
发布于 2011-09-16 18:46:02
文章http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/回答了这个问题。适用于MySQL 5.6。
发布于 2011-09-16 18:13:17
这比这要复杂一点。如果“一切停滞”(只能猜测你的技术意思),那么你的MySQL服务器可能超载了。多路复用单个连接不仅可能行不通,而且也无法绕过这个根本问题。
相反,应该修复您的查询和索引,这样就不会发生大量的表扫描和文件排序。
https://stackoverflow.com/questions/7443145
复制相似问题