Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Запрос на вставку (Виталий) 29/05/2009 - 10:49:53



From: Виталий - 29/05/2009 - 10:49:53
Subject:Запрос на вставку
-----------------
Есть запрос:
INSERT DELAYED IGNORE INTO ad_statistic_sum
(pos_id, bnr_id, cnt_date, cnt_show, cnt_click, cnt_ctr)
SELECT
pos_id,
bnr_id,
DATE(date_insert) AS cnt_date,
COUNT(*) AS cnt_show,
SUM(click) AS cnt_click,
(ROUND(SUM(click)*100/COUNT(*), 2)) as cnt_ctr
FROM ad_statistic_evn
WHERE date_insert >= CURDATE()
GROUP BY cnt_date, pos_id, bnr_id
И все вроде бы ничего... Сам по себе работает довольно быстро. Но проблема в том, что иногда (вероятно, когда много таких запросов идет подряд) жутко тормозит.

Структура табилц такая:
-- ----------------------------
-- Table structure for ad_statistic_evn
-- ----------------------------
CREATE TABLE `ad_statistic_evn` (
`sid` varchar(50) NOT NULL,
`pos_id` int(18) NOT NULL,
`bnr_id` int(18) NOT NULL,
`click` int(1) NOT NULL default '0',
`date_insert` datetime NOT NULL,
PRIMARY KEY (`sid`),
KEY `pos_bnr` (`pos_id`,`bnr_id`),
KEY `date_ins` (`date_insert`),
KEY `group` (`date_insert`,`pos_id`,`bnr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 DELAY_KEY_WRITE=1 COMMENT='Статистика';

-- ----------------------------
-- Table structure for ad_statistic_sum
-- ----------------------------
CREATE TABLE `ad_statistic_sum` (
`pos_id` int(18) NOT NULL,
`bnr_id` int(18) NOT NULL,
`cnt_date` date NOT NULL,
`cnt_show` int(18) NOT NULL,
`cnt_click` int(18) NOT NULL,
`cnt_ctr` decimal(10,2) NOT NULL default '0.00',
PRIMARY KEY (`pos_id`,`bnr_id`,`cnt_date`),
KEY `date` (`cnt_date`),
KEY `group` (`cnt_date`,`pos_id`,`bnr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 DELAY_KEY_WRITE=1;

Подскажите, пожалуйста, как можно оптимизировать это дело...


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35660



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |