用于在线商店的MySQL数据库

时间:2013-01-18 16:37:17

标签: mysql

我正在尝试建立一个网站,用户可以上传产品以互相销售。

我目前拥有的是多个类别,其中每个类别在数据库中都有自己的表。列为UserIDProdIDPriceDescription等,但在每个类别表中都相同。

我应该把它们全部放在同一张桌子上吗?我问,因为现在我发现很难为用户管理一种方式来编辑上传的产品,而无需搜索每个表格。

1 个答案:

答案 0 :(得分:0)

正确设计的查询可以轻松查询具有数百万行并具有非常快速查询结果的正确索引表。没有理由为每个类别设置不同的表格。

您只需要确保在表上有适当的索引,用于要过滤,排序或连接的列,以及在进行查询时使用索引(即仅过滤,排序或加入)索引字段,并确保您不从表中的派生值查询/排序将禁止索引使用)。您还需要确保分配了足够的内存,以便索引可以完全驻留在内存中。

通常,您应始终保持架构尽可能简单:

  • 不为具有相同属性的对象创建单独的表
  • 仅将对象的属性添加到与该对象直接相关的表(即规范化)
  • 使用适当的外键(一对多关系)或连接表(多对多关系)表示对象之间的关系。
  • 使用正确的字段类型来存储您需要存储的数据(例如,使用日期的日期/日期时间字段而不是整数时间戳或varchar)