Ik heb 4 tabellen aan elkaar gehaakt met de onderstaande query. Te zien aan de explain is dat het met de indexes niet helemaal goed zit. Het is mij echter niet duidelijk waarom het mis gaat.
De query (dynamisch opgebouwd dmv keuzes van de gebruiker)
En als overzichtelijk schema

Dan kom ik bij de explain functie en hier draait het allemaal om.
Ik begrijp niet waarom de roodomlijnde gegevens zijn zoals ze zijn. de indexes zouden toch moeten kloppen, zie hieronder

De tabellen:
unspsc (productgroepen)
products
merken
en tot slot
debiteur_artikelen (koppeling van klantspecifieke artikelnummers aan artikelen uit products)
De query (dynamisch opgebouwd dmv keuzes van de gebruiker)
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| SELECT unspsc.unspsc_omschrijving as cat, unspsc.unspsc_omschrijving_nl as oms2, merken.image as img, products.artikelsoort, products.id, products.artikel, products.oem, products.omschrijving_nl as prodoms, debiteur_artikelen.debiteurartikelnummer, merken.omschrijving as merk FROM products Left Outer Join debiteur_artikelen ON (products.artikel=debiteur_artikelen.artikelnummer AND debiteur_artikelen.debiteur=012083) Inner Join merken ON merken.merk = products.merk Inner Join unspsc ON products.unspsc = unspsc.unspsc WHERE unspsc.unspsc>0 AND 1=1 AND (( products.omschrijving_nl LIKE '%laser%' OR products.omschrijving_en LIKE '%laser%' OR unspsc.unspsc_omschrijving LIKE '%laser%' OR merken.omschrijving LIKE '%laser%' OR products.oem LIKE '%laser%' OR products.artikel LIKE '%laser%' OR debiteur_artikelen.debiteurartikelnummer LIKE '%laser%')) ORDER BY merk, unspsc.unspsc_omschrijving, products.artikelsoort |
En als overzichtelijk schema

Dan kom ik bij de explain functie en hier draait het allemaal om.
Ik begrijp niet waarom de roodomlijnde gegevens zijn zoals ze zijn. de indexes zouden toch moeten kloppen, zie hieronder

De tabellen:
unspsc (productgroepen)
code:
1
2
3
4
5
6
7
8
| Field Type Allow Null Default Value id int(11) No unspsc int(8) Yes unspsc_omschrijving varchar(500) Yes unspsc_omschrijving_nl varchar(500) Yes unspsc_omschrijving_en varchar(500) Yes unspsc_omschrijving_de varchar(500) Yes unspsc_omschrijving_fr varchar(500) Yes |
products
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| Field Type Allow Null Default Value id int(11) No artikelsoort smallint(6) Yes artikel varchar(10) Yes oem varchar(25) Yes omschrijving_NL varchar(500) Yes omschrijving_DE varchar(500) Yes omschrijving_FR varchar(500) Yes omschrijving_EN varchar(500) Yes unspsc int(8) Yes merk varchar(3) Yes groep int(11) Yes status varchar(1) Yes |
merken
code:
1
2
3
4
5
| Field Type Allow Null Default Value id int(11) No merk varchar(3) Yes omschrijving varchar(500) Yes image varchar(100) No |
en tot slot
debiteur_artikelen (koppeling van klantspecifieke artikelnummers aan artikelen uit products)
code:
1
2
3
4
5
| Field Type Allow Null Default Value debiteur varchar(6) No debiteurartikelnummer varchar(25) No artikelnummer varchar(10) No dummy text Yes |
[ Voor 5% gewijzigd door Verwijderd op 06-02-2009 12:17 ]