在选择中使用 COLUMN AS (left([Another_Column],(4)) 而不是 LEFT 是个好主意吗?

Rac*_*SQL 2 sql-server t-sql sql-server-2008-r2

我遇到了一张这样的表:

CREATE TABLE TABLE1
(
 CD1    int
,CD2    varchar(16)
,CD3    varchar(21)
,CD4    decimal(14,0)
,CD5    varchar(4)
,CD6    decimal(18,2)
,CD7    AS (left([CD3],(4)))
)
Run Code Online (Sandbox Code Playgroud)

该表有超过 40 亿行(完全没有必要,但这是另一个主题)。

正如您在最后一列中看到的,它们使用AS (left([CD3],(4))). 我认为这是非常无用的,因为我们几乎从来没有在这个表上有一个 SELECT,这里只是使用空间。

在需要时在选择期间选择该字段不是更好吗?

Eri*_*ing 8

如果计算列没有被持久化或索引,它只是一个虚拟列(表达式),它不占用任何“空间”。