Wpis z mikrobloga

#mysql
Jest jakiś sposób żeby przyśpieszyć to zapytanie? 2.3 sekundy dla małej tabeli to zbyt dużo
SELECT DISTINCT items.uid, users.username, users.avatar, (SELECT SUM(price) FROM items WHERE items.uid = users.uid AND items.gid=1800) FROM items INNER JOIN users ON items.uid = users.uid WHERE items.gid = 1800
  • 5
@sokytsinolop: mariadb jest kompatybilnie wsteczny z mysql także nie widżę problemu, oczywiście indeksy tam gdzie potrzebne tj na gid, no i lepiej korzystać z group by zamiast disitnct, po co jest o to - (SELECT SUM(price) FROM items WHERE items.uid = users.uid AND items.gid=1800) ?

nie możesz zrobić tego tak:

SELECT items.uid, users.username, users.avatar, SUM(price) FROM items INNER JOIN users ON items.uid = users.uid WHERE items.gid = 1800 GROUP BY items.uid