0

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

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

我应该把它们都放在同一张桌子上吗?我问是因为现在我发现很难管理一种方法让用户在不搜索每个表格的情况下编辑上传的产品。

4

1 回答 1

0

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

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

一般来说,您应该始终使您的架构尽可能简单:

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