我目前正在使用PHP和MySQL的Web項目。 我在MySQL面臨一個問題,我需要一個建議。存儲與用戶關聯的類別和子類別
我可以用兩種方法解決我的問題,但我不知道哪一個比另一個更高效和更快。
我需要存儲與特定用戶關聯的多個類別和子類別。用戶可以擁有多少類別和子類別(可以是一個大數目)沒有具體的限制。
- 第一方法中,我加入我的用戶(MySQL的)被叫
categories
柱,其中我保存從PHP序列化陣列與所有這些類別和子類別的表中。 ex:{1:Sports:badminton;2:Sports:baseball;3:Trip:Canada;4:Trip:USA;5:Trip:MEXICO;}
好的一面是我可以放置空間,它更加緊湊。 它的壞處是我不能在我的表類別和子類別之間建立任何關係。
- 第二種方法,我創建了一個名爲
user_categories
的表,其中列(entry_id, user_id, category, sub_category)
並添加了每個條目。
例:
╔═════╦═════════╦════════╦═════════════╗
║ 1 ║ VM1974 ║ Sport ║ badminton ║
║ 2 ║ VM1974 ║ Sport ║ baseball ║
║ 3 ║ VM1974 ║ Trip ║ Canada ║
║ 4 ║ VM1974 ║ Trip ║ USA ║
║ 5 ║ VM1974 ║ Trip ║ Mexico ║
║ 6 ║ MC1959 ║ Sport ║ badminton ║
║ 7 ║ MC1959 ║ Sport ║ golf ║
║ 8 ║ MC1959 ║ Trip ║ Canada ║
║ 9 ║ MC1959 ║ Trip ║ USA ║
║ 10 ║ MC1959 ║ Trip ║ Mexico ║
╚═════╩═════════╩════════╩═════════════╝
好的一面是,我可以做這些表之間的關係完美。 不足之處是,當它開始得到越來越多的用戶時,他們將會在這個user_categories
中進入很多...
那麼我該怎麼做? 謝謝
我改變了你的標題以修復語法。我很確定我沒有影響意義,但是如果我這樣做的話,你可以把它推回去。 – Carcigenicate
很好,謝謝 – devvmiller