In Exist KARSILASTIRLMASI

select * from T1 where x in ( select y from T2 )

çalışması:

select *
from t1, ( select distinct y from t2 ) t2
where t1.x = t2.y;

Subquery sonucta, distinct, ve indexli (hashed veya sorted) ve join yapmıs
original tabloyla.


Tersi ise

select * from t1 where exists ( select null from t2 where y = x )

Bunun calisması:


for x in ( select * from t1 )
loop
if ( exists ( select null from t2 where y = x.x )
then
OUTPUT THE RECORD
end if
end loop

Bunun sonucu genelde full scan T1 yada ilk sorgunun indexli olması T1(x).


Sonucta, Exists daha uygun oldugu senaryo icin

Sunu soyleyebiliriz eger subqueyin sonucu ( select y from T2 ) cok buyukse
ve cok zaman alıyorsa kullanılabilir.


Eger subquery kucukse IN cok daha uygun bir secim olacaktır.

Eger her iki tabloda gercekten buyukse o zaman diger faktorleri dikkate almamız
gerekmektedir.
Bu faktorleri indexler gibi gorebiliriz.Bu faktorler index distinct gibi faktorler varsa
in performansı daha iyi olacağı düşünülebilir.
Advertisements

About oracledocuments

Zekeriya Beşiroğlu, It joined the Bilginc IT Academy in July 2000. In the meantime, the Oracle Education, Oracle Data Base Management System and Oracle Internet Technologies, Oracle development technologies such as the training of Oracle products is responsible for training as consultants. During this task, since 1 April 2008 with 293 Oracle training in total, in 2150 Oracle customers successfully submitted. Oracle 10g New York in November 2002 have received training and education in Turkey was the first time the consultants. 20 April 2008 on education in Turkey 11g is the first who was a consultant. Oracle Real Application Cluster Expert advisor is certified is the first . Http://zekeriyabesiroglu.blogspot.com and Http://www.oracleforum.info owner and manager of the site. Its own has more than one hundred articles. In addition, creation and improvement of training materials are also related to work. Oracle products are used, database management and reporting Academy eruditely It also is working on. From the date of 1 January 2009 will continue to work as the Technical Director
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s