Moin zusammen,
ich stehe ein klein wenig auf dem Schlauch.
Bisher habe ich noch nie mit Joins gearbeitet.
Nun habe ich zwei Tabellen, eine Benutzertabelle, wenige User ( ~ 10 ) und eine Tabelle mit Mobilfunkzellen IDs (~ 1.500.000).
Nun möchte ich anhand eines LEFT OUTER Joins (laut MySQL Doku dürfte der doch der Richtige sein) alle ZellenIDs aus Tabelle 2 ausgeben, die mit einer BenutzerID x verknüpft sind.
Leider dauert die Query sehr lange (18 Sekunden).
Die id's sind Primärschlüssel.
Gegeben sind folgende Tabellen:
Benutzertabelle:
| id | benutzer
---------------
| 1 | Name1
| 2 | Name2
| 3 | Name3
| 4 | Name4
| 5 | Name5
| 6 | Name6
| 7 | Name7
Zellentabelle:
| id | zellenID | benutzerID
-------------------------
| 1 | 111111111 | 3
| 2 | 222222222 | 1
| 3 | 333333333 | 5
| 4 | 444444444 | 7
| 5 | 555555555 | 6
| 6 | 666666666 | 4
| 7 | 777777777 | 2
(....)
Das ist bis dato meine Query:
SELECT A.id, A.benutzer, B.id, B.zellenID, B.benutzerID FROM benutzertabelle AS A LEFT OUTER JOIN zellentabelle AS B ON B.benutzerID = A.id WHERE A.benutzer = '1' ORDER by B.id DESC
Liegt der Geschwindigkeitsdefizit an meiner Query oder liegts eher an der Anzahl der verfügbaren ZellenIDs? 1.5 Mio. sollte doch eigentlich kein Problem sein, oder?
Danke im Voraus fürs Lesen und vielleicht auch für einen Tip ;-)
ich stehe ein klein wenig auf dem Schlauch.
Bisher habe ich noch nie mit Joins gearbeitet.
Nun habe ich zwei Tabellen, eine Benutzertabelle, wenige User ( ~ 10 ) und eine Tabelle mit Mobilfunkzellen IDs (~ 1.500.000).
Nun möchte ich anhand eines LEFT OUTER Joins (laut MySQL Doku dürfte der doch der Richtige sein) alle ZellenIDs aus Tabelle 2 ausgeben, die mit einer BenutzerID x verknüpft sind.
Leider dauert die Query sehr lange (18 Sekunden).
Die id's sind Primärschlüssel.
Gegeben sind folgende Tabellen:
Benutzertabelle:
| id | benutzer
---------------
| 1 | Name1
| 2 | Name2
| 3 | Name3
| 4 | Name4
| 5 | Name5
| 6 | Name6
| 7 | Name7
Zellentabelle:
| id | zellenID | benutzerID
-------------------------
| 1 | 111111111 | 3
| 2 | 222222222 | 1
| 3 | 333333333 | 5
| 4 | 444444444 | 7
| 5 | 555555555 | 6
| 6 | 666666666 | 4
| 7 | 777777777 | 2
(....)
Das ist bis dato meine Query:
SELECT A.id, A.benutzer, B.id, B.zellenID, B.benutzerID FROM benutzertabelle AS A LEFT OUTER JOIN zellentabelle AS B ON B.benutzerID = A.id WHERE A.benutzer = '1' ORDER by B.id DESC
Liegt der Geschwindigkeitsdefizit an meiner Query oder liegts eher an der Anzahl der verfügbaren ZellenIDs? 1.5 Mio. sollte doch eigentlich kein Problem sein, oder?
Danke im Voraus fürs Lesen und vielleicht auch für einen Tip ;-)
Kommentar