【发布时间】:2016-01-19 08:19:13
【问题描述】:
我已尝试四处寻找解决此问题的最佳方法,但我找不到此类问题的任何先前示例。
我正在建设一个基于超本地化的互联网购物中心,该区域分为大约 3000 个区域。每个区域拥有大约 300 件物品。它们是相似的项目,但每个区域可以略有不同。我需要获取每个区域的“可用项目”列表。
插入速度不是问题,主要是根据“区域”值获取物品。为此类实例设置数据库的最有效方法是什么?
-
1M 行的表如
标识 |专区 |项目 |有用
1 | 1 | 1 |是的
2 | 1 | 2 | N
...
1262| 4 | 35 |是的 -
300 个表,3000 行,例如
表:zone1
编号 |项目 |有用
1 | 1 |是的
2 | 2 |否表:zone4
编号 |项目 |有用
...
35 | 35 |是的 -
1 个表,300 列(每个项目),3000 行
标识 |专区 |项目1 |项目 2 ...
1 | 1 |是 | N ...
...
4 | 4 |是 |是的……
提前感谢您提供的任何帮助或任何线索,以便我做出决定!
【问题讨论】:
-
这个问题应该迁移到数据库栈交换
-
选项 1 或多或少是构建关系数据库以有效执行的操作。我看不出选择其他两个的理由。
-
这些是常见问题。答案总是:不要做很多桌子;并且不要跨列展开一系列内容。我会投票“关闭”,但它只允许我指向一个“重复”,而不是几十个。
标签: mysql database database-design database-schema