Potrzbuje pomocy z dość długim zapytaniem mysql.
SELECT `p`.`name`,`b`.`browser_sha1` FROM `players` `p` LEFT JOIN `browsers` `b` ON `b`.`account_id` = `p`.`account_id` WHERE `p`.`lastip` = 123 AND `p`.`online` = 1 AND `browser_sha1` IN (SELECT `b`.`browser_sha1` FROM `players` `p` LEFT JOIN `browsers` `b` ON `b`.`account_id` = `p`.`account_id` WHERE `p`.`name` = 'Inwob' ) AND `p`.`name` != 'Inwob' GROUP BY `p`.`name`;
Czas jego wykonania wynosi 0.05 sec co jest za duża wartością.
Dodałem indeksy na account_id ora browser_sha1 ale to nie pomaga.
players - ok. 110000 rekordów
browsers - ok. 10000 rekordów, dziennie przybywa około 1000 nowych.
account_id to int(40)
browser_sha1 to varchar(40)
Co moge zrobić aby przyśpieszyć wykonanie tego zapytania?
Dziękuje i Pozdrawiam.