我有一个表,其中大多数列经常被读取(SELECTed)并且几乎从不更新。
我现在需要在同一个表中添加一组列(它们是同一实体的属性),只会读取这些列,并且经常更新
如果我将新列添加到同一个表中,UPDATE会干扰SELECT吗?
我是否应该创建一个与上一个表有一对一关系的新表?
如果重要,我正在使用Azure SQL Server。
答案 0 :(得分:0)
在我看来,将事物拆分成单独的表永远不是一个坏主意。但是,在这种情况下它并不重要。 covariate_2 <- factor( c(rep('A',4) , rep('B',4) ))
> data.frame( covariate_2 , melted_data )
covariate_2 Var1 Var2 value
1 A R1 C1 1.2261395
2 A R2 C1 -1.2326215
3 A R1 C2 -1.0604743
4 A R2 C2 -0.5567295
5 B R1 C3 -0.1803689
6 B R2 C3 -0.4146919
7 B R1 C4 0.3852505
8 B R2 C4 0.2433812
语句不会干扰UPDATE
,除非SELECT
语句选择要更新的列(听起来像是这样,因为这些是您添加的新列,不会除非select语句是SELECT
)。换句话说,如果您的SELECT语句如下所示:
SELECT *
在这种情况下,它可能取决于运行UPDATE语句的时间,因为如果我们假设新列默认为null并且UPDATE语句更新第一行,则SELECT distinct * FROM my.Table where [NewColumn] is not NULL
语句在它之前运行更新下一行时,如果要选择2行,最终只能选择1行。
根据你对表格的描述,听起来我觉得你最好把事情分开,即使这些陈述不太可能互相干扰。