读书人

大家在的候一般是完

发布时间: 2012-01-26 19:40:46 作者: rapoo

大家在的候,一般是完整,是
有二或以以上的表

A 物料
物料ID 物料名 物料格 明

B 商
商ID 商 地址 明

在 出表的候是按
方案一:出
ID 商ID 商 物料ID 物料名 物料格 量 日期 人
好是按
方案二:出
ID 商ID 物料ID 量 日期 人

如果接方案二的,那在查相sql句可能一
如果按方案一的,那是在更新更新句要慎

但具如果大型的系用哪比合理呢?

[解决办法]
方案二好些,理由有2:
1.出表肯定是个数据量很大的表,冗余商,物料名,物料格这些数据会使表变得庞大.
2.如果商,物料名,物料格经常会改变,那还需要去同步进出库表.

当然,如果某此字段不会改变又查询的频率很高可以冗余过来.
记录ID查询的时候只需关联显示,个人认为比方案一好.
[解决办法]
正常的情况下都应该选择第二个方案

不仅是冗余的问题,还要考虑以后的扩展和数据库的整体规划


[解决办法]
我喜欢第一种方案,不但开发效率高,而且查询效率高,扩展已经在AB表中留有余地,
物料名 与 商 是经常需要一起显示的内容,join的效率肯定要低
[解决办法]
一般是方案2, 只要有合理的索引, 这样的方案扫描的数据页会比方案一少很多.

而对于性能来说, DISK I/O 的多少, 对性能的影响是很大的.
[解决办法]
通常是方案2好.
不会出现数据冗余
也就是当有物料名称和变化是,你只要更新一条物料库中的数据
如果你用第1种方案的话就要更新所有与该物料的记录

读书人网 >SQL Server

热点推荐