Oracle数据库虚拟列的作用
时间:2015-3-8
有时,你想要根据表达式计算机结果在某列中存储数据,Oracle Database 11g提供了一种新的表列,称为虚拟列,虚拟列与普通的表列类似,但有两个主要区别:
1.你自己不能写虚拟列;
2.虚拟列由表达式的值填充.
可以从关天列的表达式求值中,常量中或者一个SQL或PL/SQL函数的求值结果中获得虚拟列.只有当查询虚拟列时才能看到该列的值,但是,这个值不像普通列的值那样永久存储在磁盘上, 只有当通过动态地一个或一个列表达式被查询时,虚拟列的值才被计算.
下面列出了可以用虚拟列做的工作.
1.在DDL和DML语句中使用虚拟列;
2.在虚拟列上收集统计数据;
3.在虚拟列上定义索引,定义的索引类似于在普通列上创建的基于函数的索引.当你给虚拟列创建索引时,Oracle暗地里在虚拟列上创建基于函数的索引.