এটি ডিবিএমএস_এডিভিএনএসএডিএসএলডাব্লুআরআইটি প্যাকেজের মতো শোনাচ্ছে । টিম হলের একটি চমৎকার হাঁটার মাধ্যমে যে প্যাকেজ ব্যবহার করা হয়েছে একটি ভিন্ন টেবিল বা দৃশ্য বিরুদ্ধে অ্যাপ্লিকেশানের প্রশ্নের বাতলান ।
আপনি যদি কেবল ক্যোয়ারী প্ল্যান পরিবর্তন করতে চান তবে কোয়েরিকে অন্য কোনও টেবিলে নির্দেশ না করেন তবে আপনি সঞ্চিত রূপরেখা বা এসকিউএল প্রোফাইল ব্যবহার করতে পারেন।
উদাহরণস্বরূপ, আমার কাছে FOO
1 সারি এবং BAR
2 সারি সহ টেবিল রয়েছে
SQL> select * from foo;
COL1
----------
1
SQL> select * from bar;
COL1
----------
66
77
আমি পুনর্লিখনের সমতুল্যতা বলতে পারি যে এর বিরুদ্ধে প্রশ্নগুলি FOO
পরিবর্তে আঘাত করা উচিতBAR
begin
sys.DBMS_ADVANCED_REWRITE.DECLARE_REWRITE_EQUIVALENCE(
'Rewrite_Foo',
'select col1 from foo',
'select col1 from bar',
false,
'TEXT_MATCH' );
end;
এখন, যদি আমি query_rewrite_integrity
বিশ্বস্ত হয়ে সেট করি, তবে FOO
সম্পূর্ণ আলাদা টেবিলটি মারার শেষের বিরুদ্ধে প্রশ্নগুলি ।
SQL> alter session set query_rewrite_integrity=trusted;
Session altered.
SQL> select * from foo;
COL1
----------
66
77
এটি এমন কিছু আকর্ষণীয় ক্যোয়ারী পরিকল্পনা তৈরি করতে পারে যেখানে আপনি যে বিষয়টিকে জিজ্ঞাসা করছেন তা পরিকল্পনায় আর পাওয়া যায় না
SQL> select * from foo;
COL1
----------
66
77
Execution Plan
----------------------------------------------------------
Plan hash value: 4224476444
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 2 | 26 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| BAR | 2 | 26 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
7 consistent gets
0 physical reads
0 redo size
584 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed