اوراکل 21c- استفاده از Result Cache در استندبای

یکی دیگر از قابلیتهای جدید اوراکل در نسخه 21c، امکان استفاده از هینت RESULT_CACHE در محیط Physical Standby است که در ادامه نحوه استفاده از ان توضیح داده شده است.

***مدت زمان اجرای پرس و جوی زیر، در دیتابیس primary حدودا یک دقیقه است:

–primary:

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:01:06.45

SQL> /

  COUNT(*)

———-

  62775296

Elapsed: 00:01:03.61

با استفاده از هینت result_cache این زمان به زیر یک ثانیه کاهش پیدا می کند!

–primary:

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:01:20.74

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:00.00

اجرای این پرس و جو در محیط استندبای حدودا 30 ثانیه زمان می برد(استندبای در محیط ما منابع بهتری نسبت به  primary دارد!):

–Physical Standby:

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:35.75

SQL> /

  COUNT(*)

———-

  62775296

Elapsed: 00:00:34.53

استفاده از هینت result_cache در محیط استندبای، تاثیری در مدت زمان اجرای پرس و جو ندارد:

–Physical Standby:

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:26.42

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:28.15

برای استفاده از result cache در  محیط دیتاگارد، ابتدا باید خصیصه RESULT_CACHE را برای جدول فعال کرد:

–primary:

SQL> alter table usef.tbl1 RESULT_CACHE (STANDBY ENABLE);

Table altered.

با این تغییر، پرس وجو با سرعت بسیار خوبی در محیط دیتاگارد اجرا خواهد شد:

–Physical Standby:

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE

—————- ——————–

PHYSICAL STANDBY READ ONLY WITH APPLY

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:18.02

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:00.00

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

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

نشانی ایمیل شما منتشر نخواهد شد.