soepkieke
Legacy Member
hallo,
ik heb ne site me filmkes en de gegevens enzo (gelijk tmdb.com).
als ik nu een film verwijder, moeten de persone die enkel in die bepaalde film speelde mee verwijderen.
voor deze query zijn 2 tabellen nodig: "movie_person" en "person":
- tabel "person" is een tabbel waar elke persoon uniek in voorkomt
- tabel "movie_person" komen sommige mensen meerdere keren voor (voor de films waar zij in meespelen)
als ik "select distinct person_id from movie_person" uitvoer, dan geeft mysql alle personen weer die meedoen aan een film die nog op mijn site staat
als ik "select * from person" uitvoer, dan geeft mysql alle personen weer, ook de die die meespelen in films die niet op de site staan
nu als ik "select * from person where id not in (select distinct person_id from movie_person)" uitvoer, dan worden alle personen weer gegeven die niet meer nodig zijn (dus in films die niet meer op de site staan).
het probleem is: deze query duurt 33sec.
als ik de "NOT" er uit laat duurt de query terug 2sec, hoe kan ik dit oplossen? Het probleem zit blijkbaar bij de "NOT"-selector...
ik heb ne site me filmkes en de gegevens enzo (gelijk tmdb.com).
als ik nu een film verwijder, moeten de persone die enkel in die bepaalde film speelde mee verwijderen.
voor deze query zijn 2 tabellen nodig: "movie_person" en "person":
- tabel "person" is een tabbel waar elke persoon uniek in voorkomt
- tabel "movie_person" komen sommige mensen meerdere keren voor (voor de films waar zij in meespelen)
als ik "select distinct person_id from movie_person" uitvoer, dan geeft mysql alle personen weer die meedoen aan een film die nog op mijn site staat
als ik "select * from person" uitvoer, dan geeft mysql alle personen weer, ook de die die meespelen in films die niet op de site staan
nu als ik "select * from person where id not in (select distinct person_id from movie_person)" uitvoer, dan worden alle personen weer gegeven die niet meer nodig zijn (dus in films die niet meer op de site staan).
het probleem is: deze query duurt 33sec.
als ik de "NOT" er uit laat duurt de query terug 2sec, hoe kan ik dit oplossen? Het probleem zit blijkbaar bij de "NOT"-selector...
