DEDUPLICATION یکی از قابلیتهای جدید اوراکل در نسخه 11g است که همراه با SECUREFILE LOBها ارائه شد و می توان بعد از ایجاد جدول هم این قابلیت را برای SECUREFILE LOBها فعال کرد اما سوال مهمی که در این زمینه مطرح می شود آن است که DEDUPLICATION برای LOBهای موجود چقدر فضا آزاد می کند؟
در اوراکل نسخه 23c، تابعی در این زمینه ارائه شد که می تواند تا حدودی به این سوال پاسخ دهد. این تابع نام جدول(و یا نام پارتیشنی از جدول) را دریافت می کند و حداکثر 100 هزار رکورد از آن جدول را بررسی کرده و نهایتا تخمینی از میزان ذخیره سازی فضا را ارائه می کند.
در ادامه، سناریوی تستی را در این زمینه می بینید.
SQL> create table tbl (id number,describe clob); Table created
در این جدول اطلاعاتی را درج می کنیم که بیشتر آن تکراری هستند:
SQL> begin 2 for i in 1 .. 70000 loop 3 insert into tbl 4 values 5 (1, 6 lpad('www.usefzadeh.com', 7 1000000000000000000000000000000000000000000000000000000000000000000000000000000000, 8 'a')); 9 end loop; 10 insert into tbl values (2, 'Ramtollah Rabbani'); 11 insert into tbl values (3, 'Armin Bahamin'); 12 insert into tbl values (4, 'Jamshid Khan'); 13 commit; 14 end; 15 / PL/SQL procedure successfully completed