我只是想知道根據用戶的日誌詳細加載不同的數據庫是一個好主意。這是爲每個用戶分配一個數據庫。加載不同的數據庫取決於用戶的登錄?
這只是一個想法,我正在開發一個應用程序(PHP)想多用戶使用的應用程序,但沒有一次又一次地複製源代碼,而只是加載不同的數據庫。
該應用程序實際上是另一個應用程序的容器。因此,用戶在app-A下注冊,然後有權在app-B中創建,編輯和更新用戶。
我在這裏談論應用-A。
我最後的問題是:
可以嗎?什麼是con和pro?感謝您的任何建議或幫助。
我只是想知道根據用戶的日誌詳細加載不同的數據庫是一個好主意。這是爲每個用戶分配一個數據庫。加載不同的數據庫取決於用戶的登錄?
這只是一個想法,我正在開發一個應用程序(PHP)想多用戶使用的應用程序,但沒有一次又一次地複製源代碼,而只是加載不同的數據庫。
該應用程序實際上是另一個應用程序的容器。因此,用戶在app-A下注冊,然後有權在app-B中創建,編輯和更新用戶。
我在這裏談論應用-A。
我最後的問題是:
可以嗎?什麼是con和pro?感謝您的任何建議或幫助。
這是很難猜測你不知道你的情況下該怎麼做,但一般多個用戶可以共享一個數據庫。您只需確保在數據行中有一些「user_id」字段,以便存儲來自不同用戶的信息。
爲什麼你認爲你需要幾個數據庫?
更多鈔票的一個想法,建議更換隻是一個數據庫:如果您計劃有許多用戶連接和斷開連接,其每個用戶不同的數據庫會非常慢,因爲數據庫連接是緩慢的創造。這就是爲什麼創建「連接池」的原因,並且如果每個用戶都有一個數據庫,則您將很難鏈接連接池。
如果我沒有理解好你的更新,你最好給用戶分配角色和檢查這些用戶有權限才能訪問數據。
我可以直接思考的一個問題是您需要爲每個用戶創建一個數據庫。 如果您擁有32000多個用戶,則可能會達到數據庫限制的最大數量。
不是說它是一個好主意,但是這個限制是微不足道的,以避免 – 2013-05-27 00:15:44
真實。然後再次在黑客之上堆砌黑客。這一切都是從一個黑客開始的:)......而且有時候他們會堆積幾年。 –
這將是宇宙中的大部分代碼 – 2013-05-27 00:18:45
這是確定在一定意義上做到這一點在技術上是可行的,但高度inpractical。擁有多個數據庫大大增加了存儲需求,因爲SQL存儲具有高冗餘度,數據庫的切換可以增加訪問時間,而且更重要的是它會讓您很頭痛地跟蹤數十個數據庫。限制用戶訪問數據庫中的數據的方法很多,我建議您使用其中的任何一種方法,因爲SQL通常可以進行優化,所以您不必擔心數據太多或訪問時間過長,因此除非您正在爲成千上萬的用戶開發一個多TB的webportal,你可以將所有內容都放在一個數據庫中。
聽起來像一個壞主意! –
爲什麼你想要給每個用戶自己的數據庫? – Blender
你是否想過呢。 –