এটি ডিবিএমএস_এডিভিএনএসএডিএসএলডাব্লুআরআইটি প্যাকেজের মতো শোনাচ্ছে । টিম হলের একটি চমৎকার হাঁটার মাধ্যমে যে প্যাকেজ ব্যবহার করা হয়েছে একটি ভিন্ন টেবিল বা দৃশ্য বিরুদ্ধে অ্যাপ্লিকেশানের প্রশ্নের বাতলান ।
আপনি যদি কেবল ক্যোয়ারী প্ল্যান পরিবর্তন করতে চান তবে কোয়েরিকে অন্য কোনও টেবিলে নির্দেশ না করেন তবে আপনি সঞ্চিত রূপরেখা বা এসকিউএল প্রোফাইল ব্যবহার করতে পারেন।
উদাহরণস্বরূপ, আমার কাছে FOO1 সারি এবং BAR2 সারি সহ টেবিল রয়েছে
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