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

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • FND Films

    FND Films

    2 Mayıs 2006
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008