鍍金池/ 問答/PHP  數(shù)據(jù)庫/ 怎么樣快速更新大量數(shù)據(jù)

怎么樣快速更新大量數(shù)據(jù)

假如有一張sku表,有數(shù)據(jù)10w或更多,怎么樣能夠快速從第二個(gè)數(shù)據(jù)庫獲取庫存來更新sku的庫存數(shù)據(jù)?

回答
編輯回答
愚念

如果你的庫2就沒有sku表,可以通過mysqldump命令來把庫1中的sku表導(dǎo)出到文件,再把這個(gè)文件中的數(shù)據(jù)導(dǎo)入到庫2中即可:

$ mysqldump -uroot -proot --databases db1 --tables sku  >/tmp/sku.sql
$ mysql -uroot -proot db2 < /tmp/sku.sql

如果你庫2本身也有sku表,只是想將庫1中庫2沒有的數(shù)據(jù)更新到庫2,那么首先你得通過insert ... select語句來操作,需要注意,語句最好不要一次性插入10w數(shù)據(jù),最好按一定條件分開,比如id,因?yàn)閙ysql內(nèi)部有一定限制:

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 1 and 10000)
and (db2.sku沒有這條數(shù)據(jù));

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 10001 and 20000)
and (db2.sku沒有這條數(shù)據(jù));

希望能幫助到你。

2017年4月8日 16:23