2016-09-23 228 views
-4

我有兩個表和兩個表中,我得到100萬條記錄。而我使用cron作業每天晚上插入記錄。在第一個表,我先截斷表,然後插入記錄和在第二個表中我正在更新並根據主鍵插入記錄。我使用MySQL作爲我的database.My問題是我需要每天做這個任務,但我無法插入。所以什麼可以爲這個問題插入100萬條記錄在MySQL

+0

你可以向一些詳細的解決方案英寸。這在上面沒有看到。 – Drew

+4

「但我無法插入所有數據」爲什麼? – ytbryan

回答

0

重要的可能的解決方案的所有數據都將掀起都挺行動和檢查的MySQL希望發佈數據時進行,如自動提交,索引等

https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html

因爲如果你不這樣做,MySQL的做了很多工作的每一個記錄添加後,它增加了,當進程正在進行時,導致進程非常緩慢並最終導入,並且可能無法在一天內完成。

-2

如果必須使用MySQL:對於第一個表,禁用索引,做鑲件,比啓用索引。這將工作得更快。

或者MongoDB的速度會更快,而Redis的速度非常快。

+0

如果一個Rails用戶要從MySQL切換數據庫,他們的第一個想法應該是PostgreSQL。但這似乎是不成熟的建議。 –

+0

我的主要建議是禁用索引。這是一個很好的,並投票給我,因爲這不是很酷。 Redis的PostgreSQL並沒有像MySql那麼快。取決於你的需求,這可能是一個很好的解決方案。特別是對於臨時數據(例如這種情況)。 –

+0

我不知道你爲什麼被低估或誰低估了你。我認爲目前還不清楚OP有什麼問題......也許這是一個表現問題,但目前這是一個非常低質量的問題(我*有*倒票) –