Возможность оптимизации?

Vadimka

Новичок
Возможность оптимизации?

Есть ли возможность оптимизировать запрос или структуру ?

имеется баннерная сеть, в которой сделана возможность ограничения показа 1 пользователю
bb.user_limit (тип smallint)

тормозит чать запроса в котором начинаем проверять кол-во показов 1 пользователю
у меня сделано вот так:

//bc.vsego - сумма показов баннера пользователю
SELECT bs.id, IF (bc.vsego IS NULL , '0', bc.vsego) AS vs
FROM banners bb, site bs
LEFT JOIN bn_log.views_seg_count6_heap bc ON ( bb.user_limit > '0' AND bc.bnrs = bb.id AND bc.ip = '1534916060' )
WHERE ...
HAVING (
bb.user_limit = '0' OR bb.user_limit > vs
)

может можно по другому выбирать банера у которых bc.vsego не превышает bb.user_limit ?
 

phprus

Moderator
Команда форума
Vadimka
Как ты определил что именно тормозит? Результаты explain в студию и кроме этого какая у тебя структура таблиц, какие индерсы созданы?
 

Vadimka

Новичок
Автор оригинала: phprus
Vadimka
Как ты определил что именно тормозит? Результаты explain в студию и кроме этого какая у тебя структура таблиц, какие индерсы созданы?
как определил? вырезал кусок кода :)
индексы разумеется тоже стоят!
 

phprus

Moderator
Команда форума
Vadimka
http://webhelp.ru/

Помимо вопроса как определял у меня в сообщении есть еще один вопрос на который ты даже не пытался ответить.

индексы разумеется тоже стоят!
Стоят но не там и не те. Используй explain чтобы посмотреть какие действительно нужны индексы.
 
Сверху