关于数据库设计的一点疑问

[复制链接]
查看11 | 回复8 | 2012-1-4 11:56:19 | 显示全部楼层 |阅读模式
小可,菜鸟一枚,在数据库表设计上最近遇到了一点问题,想请各位高手们帮忙分析下:
需求是这样的:安全检查,检查完后需要对这么安全检查记录进行复查
我设计了这样两个表:一个用于存储安全检查的内容 、一个用于存储复查的内容。
现在他们开发的建议我把两个表合成一个表,毕竟是1:1的关系,
这里我的考虑是:
1 .合成一个表的话,我要添加一个复查记录,相当于修改一个安全检查记录(不是得遍历整个安全记录表),这样如果安全检查的内容很多的话,这样会不会造成效率非常低呢?
2. 这样合成一个表会不会造成业务上的不清晰呢?
我这小菜鸟基础不牢,不能给出一个合理的解释,纠结啊。
PS:数据库在UPDATE时都做了些什么呢


回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层


太简单了吗?还是我想多了
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
不用1:1 一张表就好,可以加一个标志位,来区分检查和复查

回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
这个主要还是要看业务,如果绝对是1:1的关系的,可以合在一个表,
如果不是,或是有可能变化,分开比较灵活,如果一个安全检查有多个复查,在一个表上就不好存了;要是只检查,不复查,表字段也浪费了。
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
CareySon 发表于 2012-12-12 17:25
不用1:1 一张表就好,可以加一个标志位,来区分检查和复查

这样的话,还需要一个字段来将检查与他的复查对应起来吧。。
现在他们弄的是把检查、复查放到一条记录里了。。。我在想这样添加一个复查记录的时候,假设安全检查这个表的内容非常多,会不会效率非常的低呢?
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
kissmoon 发表于 2012-12-12 17:53
这个主要还是要看业务,如果绝对是1:1的关系的,可以合在一个表,
如果不是,或是有可能变化,分开比较 ...

现在他们弄的是把检查、复查放到一条记录里了。。。我在想这样添加一个复查记录的时候,假设安全检查这个表的内容非常多,会不会效率非常的低呢?
这是我比较关心的
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
对,担心的有道理。
如果放在一起,对复查的操作就是更新检查记录表了。
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
kissmoon 发表于 2012-12-13 09:21
对,担心的有道理。
如果放在一起,对复查的操作就是更新检查记录表了。

我比较想知道,数据库在做UPDATE时都做了些什么。。。在网上找半天也没点头绪。
谢谢您对我的问题的关注。。。比较纠结
回复

使用道具 举报

千问 | 2012-1-4 11:56:19 | 显示全部楼层
编写测试程序,Insert 10000条,Update10000条,统计一下时间的差别.
还要看你表中记录数和并发量有多少.
不是海量数据的情况下,差别不大。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行