Moin
Ich frage mich, warum diese Abfrage so lange dauert.
Das kann verschiedene Ursachen haben, die du alle nacheinander mal checken solltest:
1. Zuerst einmal die Logik checken. (Da komm ich gleich noch drauf)
2. prüfen ob alles ordentlich indiziert ist und evtl eine Fremdschlüsselbeziehung existiert
3. Die Einstellun der DAenbank prüfen (key-Cache etc) Auch hier kann dies sehr unterschiedlich ausfallen
Die Anzahl der DAtensätze ist erstmal nicht der Grund. diese ist nicht all zu hoch und sollte für eine normale DB machbar sein (Du hast uns ja leider vorenthalten welches BDMS du nutzt)
Nun zur Logik
SELECT m.1,m.2,m.3
FROM table1 m
LEFT JOIN table2 rc ON rc.mID = m.mID
LEFT JOIN table3 r ON rc.rID = r.rID
WHERE m.5 != ''
Hier gibt es die erste ungereimtheit. Wenn Table 3 die Zuordnungstabelle ist, sollte diese entweder die Grundtabelle oder zumindest die 2. Tabelle sein die abgefragt wird. Den dann folgenden Teil kann ich nicht richtig nachvollziehen
AND
m.mID NOT
IN (
SELECT mID
FROM table2 WHERE mID IS NOT NULL
)
Du fragst nochmals die Tabelle 2 (mit den Vereinen) und möchtest nicht, das die Id des Spielers = der ID des Vereines ist? Sorry, das kommt mir etwas unlogisch vor.
hab ich da was falsch verstanden?
Gruß Bobby
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
### Henry L. Mencken ###
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
### Viktor Frankl ###
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)