From: | "Adnan DURSUN" <a_dursun(at)hotmail(dot)com> |
---|---|
To: | <pgsql-tr-genel(at)postgresql(dot)org> |
Subject: | Re: Cursor ve Subselect yada Join... |
Date: | 2006-09-06 18:03:02 |
Message-ID: | BAY106-DAV144F2F8E237F2EDF258CF7FA310@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
----- Original Message -----
From: "Volkan YAZICI" <yazicivo(at)ttnet(dot)net(dot)tr>
To: "Adnan DURSUN" <a_dursun(at)hotmail(dot)com>
Cc: <pgsql-tr-genel(at)postgresql(dot)org>
Sent: Wednesday, September 06, 2006 8:48 PM
Subject: Re: Cursor ve Subselect yada Join...
> On Sep 06 08:22, Adnan DURSUN wrote:
>> Şu şekilde deneyin;
>>
>> SELECT field FROM othertable t1
>> WHERE NOT EXISTS(SELECT 1
>> FROM tablo t2
>> WHERE t2.onefield =
>> t1.onefield )
>>
>> Bu şekilde PostgreSQL'in optimizer ve parser için harcadığı zamanı daha
>> kısa olacaktır
>
> Sebep? Ben hiç zannetmiyorum. Zaten Timu'nun istediği, bir sorgu sonucu
> dönecek değerleri, sorgunun iki kere yapılmasına gerek kalmadan aynı
> anda iki sorguda kullanmak. (Yani yukarıdaki çözüm sorunun şeklini
> değiştirmekten öteye gitmiyor.) Kaldı ki, bence PostgreSQL planner NOT
> EXISTS ve NOT IN'in her ikisi içinde nested join kullanmayı tercih
> edecek. (Tablonun çok büyük bir bölümü söz konusu olmadığı sürece.)
Size bu cevabı, gerçekten merak ettiğiniz düşünerek veriyorum.
Yazdığım örnekte tüm sorgu "optimizer" tarafından bir defada
değerlendirirlir, aslında orada 2
SQL sorgusu yok, tek sorgu var. Dilerseniz n tane "subselect" yazın
durum hep aynıdır. Yani "optimizer" için sorgu tektir. Dolayısıyle
"optimizer" sadece tek bir
"execution plan" üretir. (Eğer bu sorguda birden fazla "execution plan"
üretildiği yönünde bilginiz varsa benimle bunu paylaşın lütfen)
Evet sorgunun şekli değişiyor çünkü arkadaşımızın istediği sorgu
gerçekleştirilememiş. Ben ise, satandart olan bir SQL sorgusu önerdim.
İyi Çalışmalar
Adnan DURSUN
ASRIN Bilişim Ltd.
From | Date | Subject | |
---|---|---|---|
Next Message | Volkan YAZICI | 2006-09-06 18:19:38 | Re: Cursor ve Subselect yada Join... |
Previous Message | Volkan YAZICI | 2006-09-06 17:48:26 | Re: Cursor ve Subselect yada Join... |