我有一個應用程序,用戶可以使用有限的前端界面創建自己的Mysql數據庫表。前端處理安全性,名稱重複等。動態表創建
我已經閱讀了很多類似的答案,但其中大多數最終有類似「不要創建動態表,只創建幾個表和外鍵將它們聯繫在一起「。但這並不是一個真正的選擇,因爲每個用戶都在製作自己的表格,這些表格獨立於其他用戶的表格。用戶可以有多個與自己關聯的表。
所以,這裏是我的問題:如果我有很多表(比如說幾百萬),最好是將所有表粘貼到一個數據庫中,還是爲每個用戶創建一個數據庫,然後將用戶的表粘貼到數據庫,在性能和維護方面?我和一位朋友談過這件事,他提到複製和擴展大量數據庫比許多表更容易。另外,一個側面的問題:現有的ORM是否有能力做到這一點 - 創建動態數據庫/表?我現在正在使用SQL,但是有一個已經構建/測試過的庫會很好,但我知道我有一種常見的問題類型。
我可以這麼說 - > *「或爲每個用戶創建一個數據庫」* - 非常糟糕的主意。想想維護等 –
你會以可怕的表現結束。 mysql查詢緩存鍵入表中。如果你有一百萬張桌子,而且其中一小部分是「積極」的,你就會不斷地破壞你的緩存。 –
Marc B,那麼是不是每個數據庫都會有一個或兩個表格,會更好?這仍然會搞亂緩存嗎? –