我有一個具有1600萬(ish)記錄的DEV DB。我需要'掩飾'個人數據列(名稱,地址,電話等)。我發現了一個很好的功能,可以很好地完成數據屏蔽Howto generate meaningful test data using a MySQL function。MYSQL屏蔽更新大數據庫上的數據非常慢
問題是,當我調用函數時,它每秒只能處理約30條記錄。 這是減慢的方法。
有沒有辦法加快速度。也許創建一個臨時表或其他東西。
這是調用該函數的UPDATE語句。
UPDATE table1
SET first_name = (str_random('Cc{3}c(4)')),
last_name = (str_random('Cc{5}c(6)')),
email = (str_random('c{3}c(5)[.|_]c{8}c(8)@[google|yahoo|live|mail]".com"')),
address1 = (str_random('d{3}d{1} Cc{5} [Street|Lane|Road|Park]')),
city = (str_random('Cc{5}c(6)')),
state = (str_random('C{2}')),
zip = (str_random('d{5}-d{4}'))
謝謝!
任何隨機事件在MySQL中本質上都很慢。就我所知,沒有什麼可以加快速度的。 – ydaetskcoR 2014-08-28 19:13:14
也許程序性地而不是隨機地生成項目? – 2014-08-28 19:18:02
是暗影,這是正確的。 – GreetRufus 2014-08-28 19:18:43