[英]Simple MySql update query very slow
以下查詢需要很長時間,盡管它應該立即執行:
mysql> UPDATE articles SET description='test' WHERE article_id=6;
Query OK, 1 row affected (40.80 sec)
Rows matched: 1 Changed: 1 Warnings: 0
我嘗試分析查詢,您可以看到它快速執行更新但隨后由於某種原因掛起:
mysql> SHOW PROFILE FOR QUERY 1;
+----------------------+-----------+
| Status | Duration |
+----------------------+-----------+
| starting | 0.000079 |
| checking permissions | 0.000016 |
| Opening tables | 0.000020 |
| System lock | 0.000011 |
| Table lock | 0.000864 |
| init | 0.000078 |
| Updating | 0.000315 |
| end | 40.798736 |
| query end | 0.000028 |
| freeing items | 0.000014 |
| closing tables | 0.000012 |
| logging slow query | 0.000010 |
| logging slow query | 0.000046 |
| cleaning up | 0.000012 |
+----------------------+-----------+
14 rows in set (0.00 sec)
我嘗試將 tmp 目錄掛載到 RAM 以加快查詢速度,但這也無濟於事。
我發現如果我 FLUSH 表,問題會暫時消失,但一段時間后又會出現。
任何幫助表示贊賞。
已解決 - 結果表明 mysql 緩存大小太大。 降低它的大小解決了這個問題。
如果這是一個 MyISAM 表,您可能需要修復它。 我有這種損壞數據文件的現象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.