SORU
9 Aralık 2008, Salı


Mysql tablo değil yeri seçin

2 tablo (A ve B) aynı birincil anahtar var. B. aşağıdaki işlere değil, tüm satırı seçmek istiyorum:

select * from A where not exists (select * from B where A.pk=B.pk);

ancak oldukça kötü (Bir tek satır 100 bin ve daha az B 3-10k~2 sn) gibi görünüyor

Daha iyi bir yöntem bu çalışma var mı? Bir sol katılın belki?

select * from A left join B on A.x=B.y where B.y is null;

Verilerimi bu biraz daha hızlı koşmak için (~10%) görünüyor ama genel olarak ne hakkında?

CEVAP
9 Aralık 2008, Salı


Son ifadenizi en iyi yol olduğunu düşünüyorum. Ayrıca deneyebilirsiniz

SELECT A.*    
from A left join B on 
    A.x = B.y
    where B.y is null

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011