首页 新闻 搜索 专区 学院

基本上每张表都具备CreateTime、UpdateTime、Creator、Updator这几个字段,是否可以给这几个字段单独建一张表?

0
[已解决问题] 解决于 2020-02-24 11:35

基本上每张表都具备CreateTime、UpdateTime、Creator、Updator这几个字段,很多查询时却不需要这几个字段,是否可以把给这几个字段单独建一张表、多个source字段存(表名+主键),插入和更新时就维护这张表

fhey的主页 fhey | 初学一级 | 园豆:9
提问于:2019-08-28 15:34
< >
分享
最佳答案
0

这样当你做事务修改的时候.多张表会去同时锁这个表.对性能影响很大的.

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:28831 | 2019-08-28 15:43

我考虑时就是觉得这些字段影响不是很大,不打算对这张表做事务,添加后以及修改时异步对这张表操作

fhey | 园豆:9 (初学一级) | 2019-08-28 15:53

@fhey: 如果你不做保证的话最优方案是一个统一修改方法.还是会另起一次sql请求.
实际上性能损耗.还是更高的.

吴瑞祥 | 园豆:28831 (高人七级) | 2019-08-28 23:43
其他回答(5)
0

可以但没必要呀,如果是我的生产库我不建议单独建表,现在硬盘空间不值钱呀,但是如果你需要这个字段时候就要多表连接,连接是很奢侈的操作

九命猫幺 | 园豆:8 (初学一级) | 2019-08-28 15:54
0

不推荐,太耗费性能了也很占用空间

物是人非l | 园豆:178 (初学一级) | 2019-08-28 17:07
0

感觉不能啊,因为你也说了很多张表,如果共同维护一张表该怎么区分这个修改的时间戳属于哪一张表所做的修改时间呢?

myzy | 园豆:123 (初学一级) | 2019-08-28 17:57
0

具有可行性,但是没意义

轻红 | 园豆:202 (菜鸟二级) | 2019-08-29 08:54
0

多表最大的问题是查询和性能,有的表只有一个主键,这样新表只需要一个主键就可以识别,如果有的表有3个主键,那这个表需要保存三个主键,再加上这四个字段才可以识别,一下子将程序的通用性可维护性降低了一个级别,
这四个字段其实蛮好的,国际上通用的SAP,Oracle都有这个东西,我们的ERP系统还有一个通用的字段 record number, identity(18,4) 记录编号,可以简写为Recnum,每个表都加这个,用在数据维护的时候,用一个标识列就可以做数据修复工作

信息化建设 | 园豆:223 (菜鸟二级) | 2020-02-25 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册