Oracle中的视图是什么?
一个在Oracle视图和其他数据库系统仅仅是存储在内存中,以便它可以很容易地被重新使用的SQL语句的代表性.例如,如果我们经常发出以下查询
SELECT customerid, customername FROM customers WHERE countryid='US';
要创建视图,请使用CREATE VIEW命令,如本例所示
CREATE VIEW view_uscustomers AS SELECT customerid, customername FROM customers WHERE countryid='US';
此命令创建一个名为view_uscustomers的新视图.请注意,除了定义此视图的数据字典条目外,此命令根本不会导致实际存储在数据库中的任何内容.这意味着每次查询此视图时,Oracle都必须执行视图并查询数据库数据.我们可以像这样查询视图:
SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;
Oracle会将查询转换为:
SELECT * FROM (select customerid, customername from customers WHERE countryid='US') WHERE customerid BETWEEN 100 AND 200
使用视图的好处
正在使用的代码的通用性.由于视图基于一组常见的SQL,这意味着当它被调用时,它不太可能需要解析.
安全.长期以来,视图一直用于隐藏实际包含您要查询的数据的表.此外,视图可用于限制给定用户有权访问的列.
谓词推
您可以在本文中找到有关" 如何在Oracle中创建和管理视图 "的高级主题.
如果你喜欢Views的想法,但是担心性能,你可以让Oracle创建一个缓存表来表示oracle保持最新的视图.
查看物化视图