اوراکل 23ai(23.7) – قابلیت Materialized Expression Columns

همانطور که می دانید قابلیت Virtual Column در نسخه 11.1 معرفی شده است که به کاربران این امکان را می‌دهد تا مقادیر ستون را بدون ذخیره فیزیکی آن‌ها در دیتابیس محاسبه کنند. این ستون‌ها بر اساس یک عبارت (Expression) تعریف می‌شوند که این عبارت می تواند مقادیر ثابت، توابع SQL، ستون‌هایی از همان جدول و … باشد و مقادیرشان در زمان اجرا (On-the-Fly) محاسبه می‌شود. بنابرین این ستونها فضایی را اشغال نمی کنند.

SQL> create table TBL_EMP_VIRTUAL_COL (id number, PRE_TAX_SAL number, NET_SAL NUMBER GENERATED ALWAYS AS (PRE_TAX_SAL* 0.10));
Table created
SQL> insert into TBL_EMP_VIRTUAL_COL(id, PRE_TAX_SAL) values(1,6523);
1 row inserted

SQL> select * from TBL_EMP_VIRTUAL_COL;
        ID PRE_TAX_SAL    NET_SAL
---------- ----------- ----------
         1        6523      652.3

همانطور که مشاهده می‌کنید، مقدار ستون NET_SAL به صورت لحظه‌ای و در زمان اجرا محاسبه شده است. 

در نسخه 23ai (نسخه 23.7)، اوراکل ویژگی جدیدی به نام Materialized Expression Columns معرفی کرده که مشابه ستون‌های مجازی است، با این تفاوت که مقادیر ستونها در هنگام اجرای دستورات DMLای مانند insert، update و delete محاسبه و ذخیره می‌شود.

SQL> create table TBL_EMP_MAT_COL (id number, PRE_TAX_SAL number, NET_SAL NUMBER AS (PRE_TAX_SAL* 0.10) materialized);
Table created
SQL> insert into TBL_EMP_MAT_COL(id, PRE_TAX_SAL) values(1,6523);
1 row inserted

SQL> select * from TBL_EMP_MAT_COL;
        ID PRE_TAX_SAL    NET_SAL
---------- ----------- ----------
         1        6523      652.3

در نتیجه، مزیت اصلی ستون Materialized نسبت به Virtual این است که مقادیر آن به‌صورت فیزیکی ذخیره می‌شود، بنابراین خواندن داده‌ها سریع‌تر و بدون نیاز به محاسبه مجدد انجام می شود.

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *