بصورت كلي فرقي بينtable , view در اوراکل در هنگام اجرا وجود ندارد. به مثال زير دقت كنيد:
Create view my_view as select * from emp
حال هنگامي كه شما اين دستور را اجرا مي كنيد بدين صورت است.
Select * from my_view => Select * from(select * from emp)
بدین صورت که هنگام اجرا يكبار ديگر بصورت داخلي دوباره نوشته مي شود.
نکته ها:
اگر view شما بصورت complex در اوراکل باشد يعني از join هاي زيادي استفاده كرديد مي تواند كند شود. در ضمن Index هاي روي پارتيشن را نيز فراموش نكنيد.
می توان از طریق view دسترسی های مستقیم به آبجکت ها(جداول) را محدود کرد. بدین صورت که فقط به یوزر دسترسی به view داده می شود نه جداول. کاربرد آن بیشتر در view هایی که بیشتر بصورت complex می باشد.
اگر شما مشكل سرعت داريد پيشنهاد مي كنم كه از MATERIALIZED views استفاده كنيد يا اينكه از SQL query hints در اوراکل استفاده نمایید.