( milankocsis | 2017. 02. 03., p – 18:24 )

Mea culpa a kötekedésért.
Tom megoldása adja magát ha feltételezzük hogy mit akart a költő. Magam is erre jutottam először.
Azonban ha nem minden cikk ID szerepel a másik két táblában akkor nem ugyan azt az eredményt adhatja mint az eredeti query. Abban az esetben csak Tom megoldás a jó, és az eredeti query hibás. Ezért is láttam meg a kihívást annak átírásában úgy hogy ugyan azt eredményt adjam vissza minden esetben.
Valamint a SELECT a dátumokat és árakat sem használta, így azokat elimináltam.

Hogy érdemben is hozzászóljak. Írtam az eredetidhez hasonló SELECT-et ugyan így 3 táblára. Mindegyik tábla: innodb, több mint 150 ezer sor, indexelve csak az ID-k voltak.
i5-2400, Ubuntu 16.04, mysql restart után visszaadott 125.004 sort 2,3 sec alatt. A visszaadott oszlopokra voltak mezőkonverziók if-ek stb.
Ez alapján nem a query-t gyanúsítanám.

iotop mit súgott?
MySQL beállításoknál próbálkozz ezzel ha nem értesz hozzá: https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltun…