SORU
11 ŞUBAT 2010, PERŞEMBE


Vs vs SOL BİRLEŞİM NULL DEĞİL'ler arasında ne fark VAR?

SQL sorgu kullanarak aynı şeyi, BOŞ OLDUĞU, ya da SOL KATILIN MEVCUT DEĞİL yapabilirsin gibi geliyor bana. Örneğin:

SELECT a FROM table1 WHERE a NOT IN (SELECT a FROM table2)

SELECT a FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.a = table2.a)

SELECT a FROM table1 LEFT JOIN table2 ON table1.a = table2.a WHERE table1.a IS NULL

Eğer tüm sözdizimi doğru var emin değilim, ama bu gördüğüm genel teknikler vardır. Neden diğer üzerinden bir tercih yapayım? Performans farklı değil mi...? Bunlardan hangisi / en verimli ve hızlı. Eğer uygulama bağlıdır, ne zaman ki birer? kullanın)

CEVAP
11 ŞUBAT 2010, PERŞEMBE


Özetle:

Biraz farklıdır NOT IN: asla ama listede NULL Bir tek ise orada uyuyor.

  • MySQL, NOT EXISTS biraz daha az verimli

  • SQL Server, LEFT JOIN / IS NULL daha az etkilidir

  • PostgreSQL, NOT IN daha az etkilidir

  • Oracle her üç yöntem de aynıdır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • Brendan van Son

    Brendan van

    5 Aralık 2006
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006