簡體   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