Ik heb de volgende query gemaakt:
Deze query is verder super snel (Query took 0.0057 sec)
Nu komt er echt een ORDER BY m.norder bij, om de tabel op te sorteren en vervolgens gaan we richting de 10 seconden of soms nog langer.
De tabel matching bestaat op dit moment uit zon 20 miljoen records.
Een explain van de query, met ORDER BY, geeft dit weer:
Heb dus verschillende indexes gemaakt en die lijkt hij wel te pakken maar nog blijft hij traag.
Moet toch sneller kunnen denk ik zo ...
code:
1
2
3
4
5
6
7
8
9
10
11
| SELECT m.nmatchid FROM tblmatching m INNER JOIN tblarticlecategory acl ON m.narticlecategoryleft = acl.narticlecategoryid INNER JOIN tblarticlecategory acr ON m.narticlecategoryright = acr.narticlecategoryid LEFT JOIN tblmatchresult mr ON m.nmatchid = mr.nmatchid AND mr.cip = '127.0.0.1' WHERE m.bactive = 1 AND mr.nmatchresultid IS NULL AND acl.bactive = 1 AND acl.ncategoryid = 5 AND acr.bactive = 1 LIMIT 1 |
Deze query is verder super snel (Query took 0.0057 sec)
Nu komt er echt een ORDER BY m.norder bij, om de tabel op te sorteren en vervolgens gaan we richting de 10 seconden of soms nog langer.
De tabel matching bestaat op dit moment uit zon 20 miljoen records.
Een explain van de query, met ORDER BY, geeft dit weer:
code:
1
2
3
4
5
6
7
| id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE acl ref PRIMARY,IX_tblarticlecategory_unique_idx,narticlei... ncategoryid_idx 4 const 2016 Using where; Using temporary; Using filesort 1 SIMPLE al eq_ref PRIMARY,IX_tblarticle_price_idx PRIMARY 4 ac0299a.acl.narticleid 1 Using where 1 SIMPLE m ref IX_tblmatching_match_idx,narticlecategoryleft_idx,... IX_tblmatching_match_idx 4 ac0299a.acl.narticlecategoryid 315 Using where 1 SIMPLE acr eq_ref PRIMARY,IX_tblarticlecategory_unique_idx,narticlei... PRIMARY 4 ac0299a.m.narticlecategoryright 1 Using where 1 SIMPLE ar eq_ref PRIMARY,IX_tblarticle_price_idx PRIMARY 4 ac0299a.acr.narticleid 1 Using where 1 SIMPLE mr ref nmatchid_idx nmatchid_idx 8 ac0299a.m.nmatchid 1 Using where; Not exists |
Heb dus verschillende indexes gemaakt en die lijkt hij wel te pakken maar nog blijft hij traag.
Moet toch sneller kunnen denk ik zo ...