[mySQL] trage query

Pagina: 1
Acties:

  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
Ik heb de volgende tabellen:
code:
1
2
3
4
5
6
7
8
9
10
11
Tabel colors:

+----------+------+
| color_id | name |
+----------+------+

Tabel product_colors:

+------------+----------+
| product_id | color_id |
+------------+----------+

In de eerste tabel staan 24 kleuren
In de 2e tabel worden producten aan deze kleuren te gekoppeld. (+/- 9000 records)

Nu wil ik van een product de beschikbare kleuren opvragen, in een totaaloverzicht van alle kleuren.
Dat doe ik met de volgende query:
code:
1
2
3
4
SELECT c.color_id, c.name, p.color_id FROM colors c
LEFT JOIN product_colors p ON c.color_id = p.color_id AND p.product_id = ?
GROUP BY c.color_id
ORDER BY c.color_id

Voor de wildcard wordt uiteraard het product_id ingevuld.
als p.color_id geen NULL geeft is de kleur blijkbaar beschikbaar.
Deze query werkt prima, maar doet er 5 seconden over om uit te voeren..

Als ik eerst de beschikbare kleuren van een produkt opvraag, en tijdelijk in een array gooi, en daarna alle kleuren opvraag in een 2e query gaat alles wel snel.

Wat doe ik fout?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 07:58

gorgi_19

Kruimeltjes zijn weer op :9

Hoe zit je met je indexen?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Heb je indexes?

edit:
argl gorgi is echt te snel tegenwoordig 8)7

[ Voor 68% gewijzigd door curry684 op 28-06-2004 17:09 ]

Professionele website nodig?


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 19-05 09:52

thomaske

» » » » » »

MEt de EXPLAIN functie in mysql kan je precies zien welke indexen er worden gebruikt..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
Hmmz.. ik heb even een index gezet op de product_id kolom.. en nu gaatie prima!
tnx guys :)

PS: ik wist niet dat indexes zoveel verschil zouden maken.. weer wat geleerd..

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Het kan je systeem ook langzamer maken ;)

We hebben er dan ook een hele FAQ over gebouwd ;)

Professionele website nodig?


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
Nogmaals dank :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
curry684 schreef op 28 juni 2004 @ 17:39:
Het kan je systeem ook langzamer maken ;)
Hmm, dat is slechts in bepaalde gevallen. :P

https://fgheysels.github.io/

Pagina: 1