2010-08-30 38 views
1

我有數千個要更新的數據庫模式(添加一列,更新一些行並在兩個不同的表中添加3行)。MySQL要更新的多個數據庫模式=>性能

我有2種不同的方法來做到這一點:

1)把每個模式的名稱表名前

# database A01be91a86 

UPDATE A01be91a86.ACTION set CODE_QUALIFICATION.... 
ALTER table A01e02a697.IMPRESSION add column NAME..... 

# database blabla 
.... 
.... 
# thousand databases 

# database zfc982251d 

UPDATE zfc982251d.ACTION set CODE_QUALIFICATION.... 
ALTER table zfc982251d.IMPRESSION add column NAME..... 

2)每次更新之前連接到數據庫架構

# database A01be91a86 

connect A01be91a86 
UPDATE ACTION set CODE_QUALIFICATION.... 
ALTER table IMPRESSION add column NAME..... 

# database blabla 
.... 
.... 
# thousand databases 

# database zfc982251d 

connect zfc982251d 
UPDATE ACTION set CODE_QUALIFICATION.... 
ALTER table IMPRESSION add column NAME..... 

目標是限制整個腳本執行的時間

什麼是最好的方法?第一個還是第二個?或者,也許是第三個我沒有想到的。

謝謝你們

回答

-1

過早的優化是所有罪惡的根源...

多久目前拿的,它需要多久時間?

+0

這是一個SAAS應用程序。時間越少越好。而且我幾乎有數以千計的更新。這遠非過早。 – Thomas 2010-08-30 18:46:46

0

我認爲第一個可能會更快 - 但它會是一個更大的腳本,所以寫得更難。爲什麼不在某處恢復數據庫的備份並試用?

+0

別擔心,我不會用手寫它。一個紅寶石腳本負責。從第一個到第二個,它是一行代碼。 數據庫是客戶數據庫(這裏是財務資料)。不想與他們混淆太多:-) – Thomas 2010-08-30 18:46:24