Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте! Помогите оптимизировать запрос. По моему не очень "красиво" получается. Два подзапроса к одной и тойже таблице в одном запросе по моему многовато. Буду благодарен за любую помощь!
Есть 2 таблицы с рекламой (Users_ad, Users_ad_arch), первая рабочая, вторая архивная. Обе таблицы абсолютно идентичны. Таблица рекламных каманий (Users_ad_camp) и таблица статистики (Log_ad).
Нужно на выходе получить:
- название рекламной кампании
- количество активной рекламы
- количество выключенной рекламы
- всего показов по рекламной кампании за сегодня
- всего кликов за сегодня
- всего CTR за сегодня
Версия сервера MySQL: 4.1.22
Таблицы:
Отредактированно Mouse (01.09.2009 22:47:01)
Неактивен
Например, вы можете хранить избыточную информацию.
Количество активной/выключенной рекламы для данной компании изменяется, наверное, не очень часто, поэтому имеет смысл хранить эту информацию.
Неактивен
Информация может меняться довольно часто. Думаю такой способ не совсем подойдет.
Неактивен
Немного беспредметный разговор получается - "часто", "довольно часто"..
Хранить избыточную информацию имеет смысл если количество запросов на чтение значительно превышает количество запросов на запись. Насколько я могу судить из логики запроса, это и есть ваш случай.
Неактивен
Как раз наоборот. Количество запросов на запись значительно больше, чем запросов на чтение.
В таблицу статистики (Log_ad) записываются данные по показам и кликам. Количество рекламы в рекламной кампании может изменяться. А сам запрос показывает статистические данные только по запросу пользователя.
P.S. Насколько грамотно сконструированы таблицы и запрос к ним?
Отредактированно Mouse (02.09.2009 14:20:04)
Неактивен