Je suis curieux sur la manière la plus efficace d'interroger l'exclusion sur sql. Par exemple. Il y a 2 tables (tableA et tableB) qui peuvent être jointes sur 1 colonne (col1). Je veux afficher les données de tableA pour toutes les lignes dont col1 n'existe pas dans la tableB.SQL: Comparaison des performances pour l'exclusion (Join vs Not in)
(Donc, en d'autres termes, tableB contient un sous-ensemble de col1 de tableA. Et je veux afficher tableA sans les données qui existe dans tableB)
Disons que tableB a 100 lignes tandis que tableA est gigantesque (plus que 1M lignes). Je sais que 'pas dans (pas existe)' peut être utilisé mais peut-être y at-il des moyens plus efficaces (moins de temps) pour le faire. Je ne suis peut-être pas avec des jointures externes?
Les extraits de code et commentaires sont très appréciés.
Quel SGBD? SQL Server, MySQL, Oracle? Les capacités des optimiseurs de requête dans ceux-ci diffèrent. –
Oracle. Je serai surpris s'il y a des différences de performance significatives sur divers SGBD. – someone
Oui, vous serez surpris. :) – Unreason