Re[2]: Помогите оптимизировать запрос для мускула
Повысил производительность созданием индексов, но не шибко помогло.
Теперь, я дополнил запрос и та же картина
При выборке из одной табдицы тормозит, но не сильно, а из 2х виснет. В итоге у меня два запорса:
SELECT DISTINCT `upvd01`.`a` , `upvd01`.`d` , `upvd01`.`e` , `upvd01`.`f` , `upvd01`.`g`
FROM `upvd01`
WHERE `upvd01`.`a` = (
SELECT DISTINCT `upvd12`.`a`
FROM `upvd12` , `upvd12` AS `www`
WHERE `upvd12`.`o` = `www`.`o`
AND `upvd12`.`p` = `www`.`p`
AND `upvd12`.`r` = `www`.`r`
AND `www`.`a` = `upvd12`.`a`
AND `upvd12`.`b` = `www`.`b`
AND `upvd12`.`id` != `www`.`id`
LIMIT 3 , 1 )
LIMIT 0 , 30
Его недостаток, что он вибирает одну запись, а не N и выполняется тоже долго.
SELECT DISTINCT `upvd01`.`d` , `upvd01`.`e` , `upvd01`.`f` , `upvd01`.`g`
FROM `upvd12` , `upvd12` AS `www` , `upvd01`
WHERE `upvd12`.`o` = `www`.`o`
AND `upvd12`.`p` = `www`.`p`
AND `upvd12`.`r` = `www`.`r`
AND `www`.`a` = `upvd12`.`a`
AND `upvd12`.`b` = `www`.`b`
AND `upvd12`.`id` != `www`.`id`
LIMIT 0 , 30
Что вы думаете по поводу этих запроса? Каких улучшить? Первый неудобен, второй долгий
Пока на собственное сообщение не было ответов, его можно удалить.