我正在開發一個Web應用程序,在實施數據庫之前我需要做一些研究。我希望在開始編寫代碼之前,您可以幫助我做出一些很好的決定。數據庫設計 - 在數據庫中選擇商店
今天,我有一個除其他外包含表約兩百萬聯繫人數據庫
聯繫人: CID,姓名,電話,地址等...
的應用程序的用戶可以根據不同的標準搜索聯繫人表格,並獲取聯繫人列表。
用戶存儲我一個單獨的數據庫表
用戶: UID,姓名,電子郵件等..
現在我希望讓用戶能夠在搜索結果存儲爲一個選擇。選擇必須是表示用戶獲得的搜索結果中每個聯繫人的cid列表。當選擇被存儲時,用戶可以打開選擇,並將註釋,狀態等添加到選擇中的不同聯繫人。
我首先想到的是做一個選擇表與選擇接觸映射表是這樣的:
選擇: SID,名稱,描述,UID等
SelectionContactMap: SID, cid,狀態,備註等...
由於平均選擇大小在1 000到100 000之間的聯繫人以及數千個存儲許多選擇的用戶,我發現SelectionContactMap表格將會非常快速地增長很大。
數據庫是MySql,應用程序是用PHP編寫的。我的預算有限,所以我不能在任務上拋出無限的硬件。
我是我在錯誤的方式在這裏?
你有什麼建議可以解決這個問題嗎?
- 其他數據庫?
- MySql的具體建議,表格類型等?
- 其他數據庫設計?
- 任何意見和建議表示讚賞。提前:)
感謝
- 托爾英格
您需要多久更新一次用戶選定的聯繫人?這種情況是否會每天發生,以便用戶更新他的選擇或者每個月有一次任務?你多長時間一次加載這些數據?每個用戶每天10次或每週一次? – Mahdi
用戶每天都會根據自己的選擇進行工作。更改狀態並向選擇中的聯繫人添加備註。 –