我正在創建一個數據庫,該數據庫將存儲100.000(可能更多將來)的用戶。雖然這顯然發生在每個用戶有1行的表格中,但每個用戶都可以(並且將)存儲數百個項目。在編程語言中,這意味着用戶有2個整數的數組(或一個2維數組):itemid的列和數量的列。將整數數組存儲在數據庫中
我的直覺告訴我創建一個表來保存所有這些項目,像行(userid,itemid,amount)。但是,這會導致一個巨大的桌子。 200,000個用戶,每個250個項目...這是一個表中的5000萬條目。這一點,再加上桌子將經歷持續快速變化的事實,使我感到害怕。 (有多快?我估計每秒最多100次修改。)
通常會有100到2000個用戶之間的任何地方,所有添加和刪除項目以及修改金額。這些操作可以並將在編程代碼中發生。它會去如下:
- 用戶啓動會話,程序從數據庫加載
- 用戶修改項目列表
- 每隔幾分鐘所有用戶的項目,所做的更改保存到數據庫中
- 當用戶結束會話時,它也會保存到數據庫中
值得注意的是,用戶可以存儲的項目數最大。
是否有任何替代使用單獨的表?也許保存格式化文本字符串中的值?或者,這是使用MySQL數據庫實際上是一個糟糕的想法?
謝謝你的時間和見解。
這正是關係數據庫的用例。 – Rafe