我想向所有专家提出一些建议。我想创建一个建筑供应库存和管理系统。我们知道它有不同的产品类别(例如聚合物,油漆和化学品,管道等)。在每个产品类别中,至少有1000个产品可能。那么在每个类别中创建一个表还是只创建一个表并将所有产品放在那里是不是很好?提前谢谢。
答案 0 :(得分:1)
没有任何合理的理由使用具有相同布局的多个表而不是单个表(至少在您的情况下不是这样),但使用单个表有几个原因:
构建数据库是为了处理表中的大量记录,但处理大量表格并不是很多。
可以对同一个表的查询重用执行计划,但不能为不同的表重用一个表的执行计划。新类别的每个查询都需要一个新的执行计划。所有表的缓存执行计划都使用可用于缓存数据的内存。
如果您需要对表进行任何更改,例如添加字段或添加索引,那么对单个表执行此操作比对多个表执行操作要容易得多。
< / LI>根据您动态创建查询所需的值来访问不同的表。将值连接到查询会带来SQL注入等安全问题。
通过将数据用作表名,您将失去数据与数据库布局之间的分离。数据更改时,不应要求更改数据库设计。
如果您需要同时从多个类别中获取产品,那么在单独的表格中使用类别会变得更加复杂。