多选题 分析下面三条语句:
create view v1 as select department_id,department_name,last_name from
departments join employees using(department_id);
select department_name,last_name from v1 where department_id=20;
select d.department_name,e.last_name from departments d, employees e
where d.department_id=e.department_id and
d.department_id=20;
第一个查询会比第二个查询快,因为:
【正确答案】 D
【答案解析】虽然遗憾但这是事实。视图对性能没有帮助,除非它们包括调整提示。
A、B和C是错误的。A是错误的,因为视图只是SELECT语句;它不会预运行查询。B是错误的,因为Oracle优化器会指出语法中的所有区别。C是错误的,因为虽然预编译了视图,但是这不会影响编译用户的语句的速度。