繁体   English   中英

当我执行长查询时,Mysql 是否需要很长时间才能响应?

[英]Is it Mysql take long time to respond when i execute a long query?

当我执行更多 MySQL 连接查询时,其中一个查询需要很长时间才能响应并进入进程列表。 然后我执行

SHOW PROCESSLIST

询问。 它将 state 显示为“发送数据”,并且在 Rows_examined 中为我的查询显示了一个非常大的数字(757497478)。 我们如何解决这个问题?

发送大量信息过去和将来都非常耗时。 您可以改进硬件以确保它可以更快地处理大数据处理/发送,或者您可以将查询分解成块。 如果不是一次选择所有信息,而是可以 select 首先返回的行数,请使用limit子句将其分解为分区并调用每个分区。 这样,您的应用程序就不必等待发送整个答案,而是将其作为较小的批次加载,并在等待第二批时开始处理第一批。 这个问题没有解决方案,因为超过一定限度你会遇到实际无穷大,但是有办法更好地管理这个问题。 此外,您可以查看您的查询,看看您是否需要join中的所有表,或者其中一些表是不必要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM