2015-07-05 52 views
6

在MYSQL Workbench上,我正在運行這個查詢:count(*) from test.nameTable我在這個表中有幾百萬行。 經過一段時間我得到這個錯誤:Lost connection to MySQL server during query
我看到這個問題,並在其他地方的答案,但沒有答案幫助。
我試着將所有超時和數據包大小全局變量設置爲其最大值,並以某種方式拆分我的查詢。 但是這些方法都不起作用。在查詢期間與MySQL服務器失去聯繫

SET GLOBAL connect_timeout=10000000 
SET GLOBAL net_read_timeout=10000000 
SET GLOBAL max_allowed_packet=1073741824 

任何人都知道可能是什麼問題以及如何解決它?

+0

對索引列進行計數 – Mihai

+0

索引列與其他列不同嗎? 我嘗試了一個主鍵 - 它沒有工作,或者 –

+0

表(MyISAM,InnoDB等)的存儲類型是什麼?我似乎記得,對於COUNT可能會產生很大的影響... –

回答

-1

如果沒有行是有史以來從表中刪除,次主鍵形容行的總數,在這種情況下,你也許可以嘗試

SELECT MAX(pk) FROM test.nameTable 

不知道它會更快,但也許值得嘗試?

1

如果您從MySQL Workbench運行(因爲我可以閱讀您的評論,請更新問題),程序有自己的超時。

如果你去的程序菜單,首選項 - > SQL編輯器中,您有以下選擇:

MySQL的會議: DBMS連接保持間隔(以秒爲單位): DBMS連接讀取超時(以秒): DBMS連接超時(秒):

如果你讀了這些選項的說明,您可以在第二個還有誰工作臺等待服務器響應的時間看。

相關問題