我正在用phpMyAdmin作爲前端使用MySQL數據庫(我不確定是否有遠程/客戶端訪問)。我有一個查詢數據庫的腳本,並希望查看每個查詢需要多長時間?什麼是最簡單的方法來做到這一點?我可以在服務器上安裝另一個PHP應用程序嗎?分析查詢在MySQL數據庫上的執行時間?
4
A
回答
1
如果您有權訪問MySQL
配置文件,您可以啓用general query log
和slow query log
。詳細請參照here。
因爲,因爲我認爲,5.1.6
,你也可以做它在運行時:
SET GLOBAL long_query_time = 10 /* which queries are considered long */
SET GLOBAL slow_query_log = 1
,但嘗試也無妨,我不rememeber確切版本的時候纔出現。
1
對於我所處理的大多數應用程序,我都包含可以在開發環境中輕鬆開啓的查詢分析輸出。這會輸出SQL,執行時間,堆棧跟蹤和顯示解釋輸出的鏈接。它還突出顯示查詢運行時間超過1秒。
雖然您可能不需要複雜的東西,但您可以通過在PHP中編寫一個包裝查詢執行的函數並將調試信息存儲在會話中(或者僅輸出)來獲得相當好的查詢運行時間它)。例如:
function run_query($sql, $debug=false, $output=false) {
$start = microtime(true);
$q = mysql_query($sql);
$time = microtime(true) - $start;
if($debug) {
$debug = "$sql<br/>$time<br/><br/>";
if($output) {
print $debug;
} else {
$_SESSION['sql_debug'] .= $debug;
}
}
return $q;
}
這只是一種粗略的想法。不管你想要什麼,你都可以調整它。
希望幫助 -
0
你應該long_query_time時間設置爲1,因爲它設置爲10會排除大多數,如果不是所有的查詢。 在mysql提示符下輸入
set @@ long_query_time = 1;
相關問題
- 1. MYSQL查詢執行時間
- 2. 用時間戳查詢MySQL數據庫
- 3. 隨時間查詢mysql數據庫
- 4. 數據庫查詢執行
- 5. 使用日期時間在SQL數據庫中執行查詢
- 6. 在SQLite數據庫上執行查詢時出現NullPointerException
- 7. 在Sybase數據庫上執行查詢時Isql命令錯誤
- 8. 在MYSQL上的數據庫查詢
- 9. NodeJS MySQL:度量查詢執行時間
- 10. MySQL,JDBC查詢執行時間太長
- 11. 減少MySQL查詢執行時間
- 12. MySQL PHPExcel查詢執行時間太長
- 13. MySQL查詢執行多個時間
- 14. Node.js中的數據庫查詢分析
- 15. mysql查詢執行時間強制託管端阻塞數據庫
- 16. 查詢在數據庫中執行,但在WebService中執行時不執行
- 17. 查詢的執行時間
- 18. 在MySQL上查詢數據庫
- 19. 立即在多個數據庫中執行MySQL查詢
- 20. SQL/MySQL查詢可用的日期和時間在數據庫
- 21. 如何在Rails中的數據庫連接上執行查詢?
- 22. 在liferay上執行的查詢6.2數據庫
- 23. 在兩個數據庫之間執行訪問SQL查詢
- 24. 在PostgreSQL上執行間隔分析
- 25. LinqToSql查詢執行時間
- 26. 查詢執行時間
- 27. 查詢時間執行
- 28. 查詢執行時間
- 29. 如何減少我在Oracle數據庫中查詢的執行時間?
- 30. 在特定的時間執行查詢
我不認爲我有權訪問這些。我正在爲網站使用cPanel後端/配置管理系統。 – john 2009-06-05 13:53:04