欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » SQLServer教程 » 正文

热门阅读

利用sql查出数据库中所有计算列及计算公式

创建时间:2011年12月15日 15:32  阅读次数:(16416)
分享到:
如果我们在数据库的表中定义了许多的计算列,我们可以利用目录视图sys.computed_columns来查询出数据库中所有的计算列及计算公式。

sql语句如下:
select * from sys.computed_columns

下面对该视图的几个重要列讲解一下:
1,object_id--该计算列的所属表的ID,可以结合object_name(object_id)来查询出所属表名,sql如下:
select object_name(object_id) as 所属表名,* from sys.computed_columns

2,name--该计算列的列名
3,definition--该计算列的公式(该列是非常有用的,利用该列的结果,可以大大提升我们管理计算列的效率)
4,is_persisted--指示该计算列是否是持久化的。

可能有些朋友会对is_persisted属性不太理解,什么是持久化的?持久化的计算列与非持久化的计算列有什么区别?
·持久化的计算列在每次用户更新数据是就计算好结果,并将该结果存储起来,就相当于一列实际存在的列。因为该列的结果都已经存储起来了,所以可以在持久化的计算列上建立索引
·非持久化的计算列只有在用户每次查询该字段的时候才计算出结果并返回,相对于持久化的计算列,它不占用存储空间。但不可以在非持久化的计算上面建立索引,所以在读取的速度上稍逊一点。

建议:在有复杂公式的计算列,我们最好将该计算列设置为持久化的,这样会提升我们sql的查询速度。s
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论1条
  • #1楼  评论人:匿名  评论时间:2013-3-5 14:56:04
  • 谢谢了,很不错。
发表评论:
留言人:
内  容:
请输入问题 31+56=? 的结果(结果是:87)
结  果: