Ik probeer een efficientere code te vinden voor een selectie uit twee tabellen.
Nadeel: 12 seconden om uit te voeren.
Nadeel: 0,4 seconden om uit te voeren
Werkt.
Klein nadeel: 0,1 seconden
Nu moet ik deze query 2 keer uitvoeren, en ik vraag me af of de query wel zo efficient is omdat ik in de subquery eerst alle 18000 records door moet lopen...
            - Tabel 1 (products) bevat productinfo, tabel 2 (stock) bevat leverancier, voorraad en prijs.
- Voor ieder product zijn er 1 of meerdere leveranciers met verschillende voorraad en verschillende prijzen.
- Het veld genaamd ean koppelt de records uit beide tabellen (foreign key)
- De klant krijgt de laagste prijs, maar totale voorraad te zien.
- Er kan door klanten een selectie gemaakt worden, bijv kleur=rood. Deze gegevens zitten alleen volledig juist in de products table.
- Products bevat 8000 rijen, stock bevat 18000 rijen
code:
Deze code werkt, en haalt exact op wat ik wil.| 1
2
3
4
5
 | SELECT p.*, totalStock, minprice FROM products p LEFT OUTER JOIN (SELECT s.ean, SUM(sstock) as totalStock, min(price) as minprice FROM stock s GROUP BY s.ean) sp on sp.ean = p.ean ORDER BY sp.minprice | 
Nadeel: 12 seconden om uit te voeren.
code:
Deze code werkt, haalt op wat ik wil.| 1
2
3
4
5
6
7
 | SELECT p . * , c.totalStock, c.minprice FROM products p INNER JOIN (SELECT ean, SUM(sstock ) AS totalStock, MIN( price ) AS minprice FROM stock GROUP BY ean ) c ON p.ean = c.ean ORDER BY c.minprice | 
Nadeel: 0,4 seconden om uit te voeren
code:
| 1
2
3
4
 | SELECT p.*, c.totalStock, c.minprice FROM (SELECT SUM(sstock) AS totalStock, ean, MIN(price) AS minprice FROM stock GROUP BY ean) c INNER JOIN products p ON p.ean = c.ean ORDER BY c.minprice | 
Werkt.
Klein nadeel: 0,1 seconden
Nu moet ik deze query 2 keer uitvoeren, en ik vraag me af of de query wel zo efficient is omdat ik in de subquery eerst alle 18000 records door moet lopen...
/u/262016/crop64ed94e1a7757_cropped.png?f=community) 
            :strip_icc():strip_exif()/u/43400/avatar.jpeg?f=community) 
            
:strip_exif()/u/18996/GoT_avatar.gif?f=community) 
            /u/1830/acm.png?f=community)