radd Posted February 19, 2013 Share Posted February 19, 2013 I have three tables with these fields that have about 5k rows each USERS id | email FLASH2TIMBRES id | id_user | photo_name | valid VOTES id | id_user | id_photo I use a query that makes my site run very slow and I think there's room for improvising this: SELECT `users`.`email`, `flash2timbres`.`id`, `flash2timbres`.`id_user`, `flash2timbres`.`photo_name`, `flash2timbres`.`time`, COUNT(`votes`.`id` ) AS nbvotes FROM `users`, `flash2timbres` LEFT JOIN `votes` ON `flash2timbres`.`id` = `votes`.`id_photo` WHERE `valid` = 1 AND `flash2timbres`.`id_user` = `users`.`id` GROUP BY `flash2timbres`.`id` ORDER BY DESC LIMIT 0, 30 I use Codeigniter and I don't know if Active Records might be faster than a query String. Thanks Link to comment https://forums.phpfreaks.com/topic/274673-mysql-query-speedup/ Share on other sites More sharing options...
radd Posted February 19, 2013 Author Share Posted February 19, 2013 I don't know how to edit this post but I had an error on my SELECT ... ORDER BY `flash2timbres`.`id` DESC LIMIT 0, 30 Link to comment https://forums.phpfreaks.com/topic/274673-mysql-query-speedup/#findComment-1413318 Share on other sites More sharing options...
radd Posted February 19, 2013 Author Share Posted February 19, 2013 Solved this by using INDEXES. Link to comment https://forums.phpfreaks.com/topic/274673-mysql-query-speedup/#findComment-1413319 Share on other sites More sharing options...
Barand Posted February 19, 2013 Share Posted February 19, 2013 Also, INNER JOIN is faster than LEFT JOIN Link to comment https://forums.phpfreaks.com/topic/274673-mysql-query-speedup/#findComment-1413323 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.