首先我先写一个小例子
declare @table table(a int,b int)
insert into @table
select 2,3
select a,b,a+b as col_add,a*b as col_ji from @table
/*结果
a b col_add col_ji
----------- ----------- ----------- -----------
2 3 5 6
*/
我们可以看到后两列是前面数据运算后的结果
我们可以取出这样的结果,但是结果是在取数据的时候,进行运算的。
当数据量大的时候这个运算时需要很长时候的。
那换个思路考虑一下,我们是否可以在创建数据的时候就进行运算。
我们写个简单的例子:
--创建表
create table [dbo].[table_name]
(
[a] [int] null,
[b] [int] null,
[col_add] as ([a]+[b]),
[col_ji] as ([a]*[b])
)
on [primary]
--插入数据
insert into table_name(a,b)
select 2,3
--查询出结果
select * from table_name
--删掉表
drop table table_name
/*
a b col_add col_ji
----------- ----------- ----------- -----------
2 3 5 6
*/
这样当每插入一条记录的时候,就进行一次计算。
@【叶子】http://blog.csdn.net/maco_wang 原创作品,转贴请注明作者和出处,留此信息。