2012-03-22 72 views
0

我正在同時啓動數百個PHP腳本。要概述'activty',我正在做mySql中的SHOW PROCESSLIST。這會返回5個進程,包括SHOW PROCESSLIST之一。所以我想知道在處理所有其他待處理進程之前。有沒有看到這些的命令?謝謝您的回覆。乾杯。馬克MySql - 待處理進程在哪裏?

回答

0

試試這個:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 

如果你沒有看到你期待什麼,那麼PHP腳本沒有在一次拍查詢此選擇運行。

有關服務器線程的更多信息,你可以找到here

您還可以使用mysqlproxy看到的一切。

+0

你好rkosegi。您建議的查詢也只返回5行(包括您的查詢)。我不明白,因爲當我檢查互聯網上的SHOW FULL PROCESSLIST快照時,有很多行,而不僅僅是5.你知道什麼可以解釋這種行爲嗎? – Marc 2012-03-22 13:01:46

+0

需要多長時間?在簡單選擇的情況下,你不會看到它們,請檢查mysqlproxy,它可以是有用的,你可以看到在線查詢他們如何到服務器 – rkosegi 2012-03-22 13:04:46

+0

我的查詢是收集數據,然後將這些數據插入我的數據庫的長查詢。每個文件大約插入400行。我有一百多個文件同時觸發。每個PHP文件運行大約10分鐘... – Marc 2012-03-22 13:06:34

0

請參閱手冊,特別是:

http://dev.mysql.com/doc/refman/5.6/en/show-processlist.html

如果你有process權限,你可以看到所有線程。否則, 你只能看到你自己的線程(即用 相關的線程,你所使用的MySQL賬戶)

也許PHP腳本和客戶做SHOW PROCESSLIST使用不同的帳戶...

+0

Hello Marc。感謝您的幫助。關鍵是我是唯一的用戶。因此,所有內容都由同一個帳戶觸發。儘管我啓動了100個查詢,但流程列表在任何時候都只有5個進程。當流程列表中的進程完成後,它將從列表中消失,並由「隊列」上的一個進程替換。我正在調查它是否可能與我在同一時間激發了百次查詢有關...... – Marc 2012-03-23 08:13:39