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

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • George McCarron

    George McCar

    29 Mayıs 2013
  • ModNation Racers H.Q.

    ModNation Ra

    31 Ocak 2010