2013-02-14 128 views
2

我有一個非常非常長的MYSQL INSERT。 MYSQL凍結了幾分鐘,解凍後沒有插入數據。MYSQL批量插入慢

我的INSERT查詢有什麼問題嗎?

INSERT INTO polim_inventory_transactions 
(item, type, warehouse, quantity, date) 
VALUES 
(100004, 'Inventory Tr', 'BFL', 354.0000, '2013-01-31'), 
(100007, 'Purchase Rec', 'BFL', 23552.0000, '2013-01-15'), 
(100206, 'Inventory Tr', 'BFL', 125.0000, '2013-01-08'), 
(100206, 'Inventory Tr', 'BFL', 75.0000, '2013-01-09'), 
(100206, 'Inventory Tr', 'BFL', 100.0000, '2013-01-09'), .... 
+0

你有很多指數增加在桌子上?因爲太多索引可能會減慢'INSERT','UPDATE'和'DELETE'語句。 – 2013-02-14 09:48:15

回答

1

如果這是MyISAM表,那麼可以嘗試在插入前鎖定它。 另外,如果你對這個表的鍵,禁用它們可以幫助過:

ALTER TABLE polim_inventory_transactions DISABLE KEYS; 

一般情況下,你可以看到更多的技巧在這裏:Bulk Data Loading for MyISAM Tables

+0

謝謝!禁用鍵有訣竅。現在查詢在3秒內執行。 – mend 2013-02-14 11:00:29

+0

注意:您需要在INSERT完成後啓用密鑰。如果你有很多/​​大鍵,這是需要時間的舞臺。 – vadchen 2013-02-14 11:04:20