Mysql C API和获取原始套接字

Mysql C API和获取原始套接字,mysql,c,multiplexing,Mysql,C,Multiplexing,我正在编写需要与mysql通信的应用程序。它是一个单线程应用程序,使用epoll linux系统调用多路复用客户端,但问题是,每当我对数据库进行(繁重)查询时,一切都会暂停。所以我想从mysql中获取实际的套接字,并将其放入我的epoll中,这样我也可以复用数据库。有可能吗?比这要复杂一点。如果“一切都停滞”(只能猜测您的技术含义),那么您的MySQL服务器可能过载。多路复用单个连接不仅可能行不通,而且也无法解决根本问题 相反,请修复您的查询和索引,这样就不会出现大型表扫描和文件排序。比这要复杂

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

比这要复杂一点。如果“一切都停滞”(只能猜测您的技术含义),那么您的MySQL服务器可能过载。多路复用单个连接不仅可能行不通,而且也无法解决根本问题


相反,请修复您的查询和索引,这样就不会出现大型表扫描和文件排序。

比这要复杂一些。如果“一切都停滞”(只能猜测您的技术含义),那么您的MySQL服务器可能过载。多路复用单个连接不仅可能行不通,而且也无法解决根本问题


相反,修复您的查询和索引,这样就不会出现大型表扫描和文件排序。

这篇文章回答了这个问题。使用MySQL 5.6。

文章回答了这个问题。适用于MySQL 5.6。

有7个对db的请求,其中只有2个是慢速请求,其他请求使用不同的表,非常简单(立即执行)。不可能对它们进行更多的优化,因为它们检查了近300k条记录(数据传输日志),所以我的问题就是这个多重测试。没别的。@Daniel:300k唱片一点也不怎么样。如果这使得“一切都停滞”,那么您的查询和索引就出了问题。这是你的问题。没有其他要求。(正如我已经说过的,任意多路连接到数据库不会使数据库执行得更快。你要做的只是中断数据。)有7个对数据库的请求,其中只有2个是慢请求,其他的使用不同的表,非常简单(立即执行)。不可能对它们进行更多的优化,因为它们检查了近300k条记录(数据传输日志),所以我的问题就是这个多重测试。没别的。@Daniel:300k唱片一点也不怎么样。如果这使得“一切都停滞”,那么您的查询和索引就出了问题。这是你的问题。没有别的了。(正如我已经说过的,任意多路连接到数据库不会使数据库运行得更快。你要做的就是中断数据。)死链接。谷歌的缓存:也是一个死链接。回程机器:它又活在这里了:死链接。谷歌的缓存:也是一个死链接。回程机器:它再次生活在这里: