2011-05-18 56 views
2

除了運行它以完成...有什麼方法可以告訴MySQL查詢需要運行多久?

是否有某種進展,您可以監視以查看正在處理您的查詢時會發生什麼操作,這會讓您瞭解它將花費多長時間,或者至少步驟如何,發生了哪些步驟,哪些仍然存在?

如果是,那麼這個相同的工具是否可以幫助您確定查詢花費時間最長的部分?

我想更好地理解什麼使得某些查詢需要比其他查詢更長的時間。

+0

不一定是您意思的意義上的工具,但您可以運行'EXPLAIN SELECT ...'(在此處插入您的查詢)以查看您可能遇到哪些瓶頸。 – 2011-05-18 16:11:40

回答

1

你可以使用explain來要求MySQL告訴你爲什麼一個函數需要儘可能多的時間。

http://dev.mysql.com/doc/refman/5.0/en/explain.html

的想法是,它會告訴你的東西它使用了索引,等等,這將幫助你然後優化或者查詢或使人們更快表等。

這不是直接回答你的問題,因爲它不會告訴你查詢的實時進度,這是你要求的,但它直接回答你問題的最後一句話,並且所以對於你真正想知道的信息,實際上它可能比任何實時進度報告更有用。

相關問題