SQLSERVER所谓计算列,也就像ORACLE的虚拟列,插入表时不用插焯拜芪恨入该列值,它是根据其他列的值经过公式计算得到的新的值。方便查询SQL,减少运算编写的代码,同时能够提高一定的效率。
工具/原料
数据库
方法/步骤
1、先看下普通的表,如果涉及到运算公式需要编写sql。比如计算带薪假期根据工龄的1.5倍,代码如下。
2、为了节省sql编写量,可以在表上创建新的计算列。公式就是sql上的算法挪过来。
3、点击保存按钮,再刷新一下,可以看到说明是计算列。
4、查询代码可以省略计算公式,直接查出来所有数据。
5、因为计算列默认是使用时运算,如果数倌栗受绽据量大,每一条都运算那就非常影响效率。怎么办呢?别急,看下面还有个【是持久的】,这里把它改成田肖倦娄【是】。什么意思呢?他就是相当于实际列了,可以加索引,主键等等。不是使用时计算,而是新增记录及修改时,实时保存值。查询时不用再计算,直接拿出来使用。
6、查询方法不变,这样效率最快了。计算列在下面这个系统表中可以查到sys.computed_columns
7、在这个表中可以看到计算公式。