2011-11-08 14 views
0

我正在管理使用Amazon RDS作爲我們的數據庫服務器的企業Web應用程序。我們的架構是當用戶註冊一個新帳戶時,我們在RDS中爲他們創建一個全新的數據庫。如何快速創建複雜的MySQL數據庫的新實例?

該數據庫大約有63個表,其中大多數都有索引,並且幾乎都有外鍵約束。目前我們通過執行一大組sql語句來創建每個新數據庫。這需要平均57秒。

有沒有人有任何想法,我怎麼能做得更快或更有效?

謝謝!

+0

你有查詢和對查詢的解釋?和表結構? –

回答

1

數據庫創建是否在用戶註冊時自動發生?用戶是否一直在等待,直到所有事情都完成以獲得響應?

如果是這樣,那麼上面提到的平均時間確實存在問題。我可以建議您事先創建數據庫(手動或在您的代碼中),當用戶註冊時,您只會將他與可用(已創建)的數據庫關聯起來。你可以有一個進程監視可用的空數據庫並在數字低於某個指定的數字時創建新的數據庫。

+0

這正是我們今天想出並實施的解決方案。它的工作非常好。我們在單獨的服務器上有一項服務,該服務器將創建一定數量的不與任何帳戶綁定的空數據庫。然後,當用戶註冊時,他們只需分配這些數據庫中的一個。工作得很好! –