2011-02-01 84 views
0

我可以在Mysql中創建多達500000000個數據庫嗎?可以在mysql中創建的數據庫的最大限制?

如果是,是否有效?

在這裏,每個數據庫保存有6張桌子的用戶數據包含在其中的用戶信息呢..

請解釋一下我這種想法的利弊相對於性能和實現..

+3

爲什麼要爲每個用戶創建一個唯一的數據庫,而不是爲所有用戶創建一個表? – 2011-02-01 15:37:13

回答

2

請不要!

無論你在想什麼,無論什麼原因。絕對沒有辦法創建這麼多的數據庫是一個好主意。

如果您想要爲每個用戶或每個X存儲數據,請再次看看關係數據庫是什麼「關係數據庫通過使用數據集中的共同特徵來匹配數據」。

假設您正在創建圖像服務並希望每個用戶擁有自己的圖像。一種方法是給每個用戶自己的數據庫。這是錯誤的,因爲每個用戶的數據包含相同的特徵,唯一不同的是關係(用戶A具有圖片A,用戶B具有圖片B),(1個用戶具有0 ... *圖片,並且1張圖片屬於1個用戶)。因此,不是創建許多數據庫,而是創建一個用戶表,並將其與圖片表關聯起來,這樣就可以有效地使用數據庫。

回答你更直接的問題。創建一個包含50.000個條目的表肯定會更有效,然後創建50.000個數據庫。

編輯在mysql.com相關答案:http://forums.mysql.com/read.php?20,74692,74705#msg-74705

0

創建每個獨特用戶的完整數據庫並不理想。您現在正在強制SQL存儲每個數據庫並獨立引用每個表。更不用說,數據庫現在必須更加努力地檢索和存儲這些信息,因爲它在數據庫之間傳遞。

爲了規範化的目的,您最好在每個表中爲您的CRUD操作調用一個「用戶」列。這將所有東西都保存在一個地方,並保持數據庫的安全。

0

我懷疑他想知道這個性能方面的原因 - 不是因爲他知道沒有更好的。

在每個用戶的獨特數據庫中查找不會因爲數據庫的增長而變慢 - 因爲它簡直不會。

但是,如果你願意爲了提高性能而努力,我個人的觀點會首先考慮使用不同的DBMS。我個人對mySQL的經驗是,如果速度不是問題,那麼它就是一個非常好的數據庫管理系統 - 我個人發現MSSQL的速度要快得多。

相關問題