MySQL Effizientere Datenbankabfrage

ITCF

aufpolierter User
ID: 120652
L
19 Dezember 2010
43
9
Hallo,
ich habe mehrere tw. noch nicht veröffentliche Projekte aufgekauft und möchte diese nun nach und nach (und nachdem diese meinen Vorstellungen entsprechen) veröffentlichen.

Nun habe ich bei einem Klick-Projekt das Problem, das ich die Datenbankabfrage betr. der noch nicht vom User geklickten Banner/Paidmails usw. als nicht effizient betrachte.

Die DB-Tabellen sehen (abgewandelt) so aus:
PHP:
TB klicks
User-ID		Banner-ID	Auszeit		usw…
(Auszeit beschreibt hierbei das Ende der Reload-Sperre als Timestamp)
PHP:
TB banner
Banner-ID	usw…

Derzeit erfolgt die Abfrage über NOT IN, wobei die Werte hierfür aus der TB klicks gelesen und aufgereiht werden – was natürlich mit der Zeit eine immens große Query ergibt – zumal ich ja hier auch zwei querys benötige.
Mein Grundgedanke ist nun, dieses über LEFT JOIN zu umgehen (Abfrage aller Einträge aus TB banner, wobei die jw. Banner-ID nicht in der TB klicks mit Auszeit > $jetzt sein darf ), da ich mir über diesen Weg eine bessere Performance verspreche.

Allerdings bekomme ich irgendwie die query nicht hin, d.h. ich habe immer ein Null-Resultat.

Daher meine Fragen an euch:
a) Habe ich mit meinem Performance-Gedanken recht ?
b) Wie müsste ich die query korrekt aufbauen (da scheitere ich doch wohl an meinen Fähigkeiten) ?

Viele Grüße
ITCF
 
Hallo theHacker !

Jep, und ich muß zugeben, das ich wohl doch blöd bin (IS NULL ist das Zauberwort). Vielen Dank, war ganz genau der richtige Tipp !

Gruss
ITCF