我該怎麼做總是在不鎖定表的情況下插入MySQL MyISAM數據庫?MySQL MyISAM - Do not insert without lock
當我加載100,000條記錄時,其他進程似乎被鎖定。
基本上,我可以強制使用concurrent_inserts = 2,即使表中有孔,所以在插入過程中沒有表鎖定?
是否可以爲會話動態設置concurrent_inserts? 見http://dev.mysql.com/doc/refman/5.0/en/concurrent-inserts.html
還有什麼其他方法用於非鎖定插入?
「插入延遲」會在插入過程中阻止表鎖定嗎? 請參閱http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html
檢出[併發插入](http://dev.mysql.com/doc/refman/5.0/en/concurrent-inserts.html)。 – 2012-07-23 14:58:20
我不確定這是否適合我的問題 - 基本上我有一個巨大的myisam表和許多獨立運行的插入線程(非常差的應用程序設計,其中插入是單個記錄,而不是分成塊)。每個線程似乎都被阻塞,直到前一個線程執行插入。我會重新閱讀你的鏈接,看看它確實解決了我的問題。感謝您的鏈接。 – FreudianSlip 2012-07-23 15:01:21
併發插入僅防止阻塞SELECT。其他INSERT仍將被阻止(您不能同時向同一文件的末尾寫入兩個單獨的請求)。 – 2012-07-23 16:21:54