Mysql statt NOT IN, LEFT JOIN verwenden

kramoo

Mitglied
Schaffe es nicht nach langem probieren statt NOT IN die Abfrage mit einem LEFT JOIN zu verwenden.

Code:
SELECT * FROM avz WHERE avz NOT IN (SELECT linkartinfos FROM backlink WHERE linkart = 'avz' AND projektid = '$projektid'

Kann mir jemand helfen und aus der Abfrage eine Abfrage mit LEFT JOIN machen?
 
Warum auch immer der NOT IN nicht gut genug ist

SQL:
SELECT
	avz.*
FROM
	avz
	LEFT JOIN (
		SELECT 
			linkartinfos 
		FROM 
			backlink 
		WHERE 
			linkart = 'avz' 
			AND projektid = '$projektid'
		) S bl
		ON avz.avz = bl.inkartinfos
WHERE		
	bl.inkartinfos IS NULL
 
Zuletzt bearbeitet von einem Moderator:
Waren noch fehler im Code.

Code:
SELECT a . *
FROM avz a
LEFT JOIN (

SELECT linkartinfos
FROM backlink b
WHERE b.linkart = 'avz'
AND b.projektid =15
)b ON a.avz = b.linkartinfos
WHERE b.linkartinfos IS NULL
müsste so stimmen.

Der grund ist die Performance.
0,8s für NOT IN
0,02s mit LEFT JOIN
und die Datenbank wird noch um einiges größer.
 

Neue Beiträge

Zurück