在MySQL進程列表中,它顯示了幾個SELECT
查詢已被鎖定。的鎖定節目超過4000MySQL進程列表 - 鎖定問題
| 24 | user | localhost | database | Query | 4725 | Locked | SELECT * FROM data
| 25 | user | localhost | database | Query | 4725 | Locked | SELECT * FROM data
| 26 | user | localhost | database | Query | 4725 | Locked | SELECT * FROM data
PHP腳本的時間已經執行過一段時間,但隨後在SELECT
鎖定狀態成了。如何解決這個問題呢?
$SQL = "SELECT * FROM data";
$query = $db->prepare($SQL);
$query->execute();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
//Do something
sleep(2);
}
是否mySQL服務器限制SELECT查詢在一次運行一次?這可以改變嗎?
我正在使用MyISAM –
哦,我已經忘記了關於myisam的所有信息:( –
MyISAM鎖定了整個表,當它寫入並且沒有讀取可以完成,直到該鎖被釋放。在寫入之前被執行,等等,但在你的情況下,它看起來好像有一個寫入阻止你的讀取。 –