|
MySQL.RU - Webboard
Вернуться
ПОМОГИТЕ ускорить сложнейший запрос, ХЕЛП!!! (lrlr) 16/03/2011 - 01:16:54
Re: ПОМОГИТЕ ускорить сложнейший запрос, ХЕЛП!!! (lrlr) 16/03/2011 - 02:32:54
Re: ПОМОГИТЕ ускорить сложнейший запрос, ХЕЛП!!! (Akina) 16/03/2011 - 08:52:40
From: lrlr - 16/03/2011 - 01:16:54
Subject:ПОМОГИТЕ ускорить сложнейший запрос, ХЕЛП!!!
-----------------
Помогите пожалуйста
есть запрос который работает очень медленно...
нужно его ускорить
вот запрос который выполняется 30 секунд
[code]
UPDATE `userlist` SET `status` = 'tested', `limit` = '0' WHERE `status` = 'works' AND (SELECT COUNT(*) FROM `visitors` WHERE `where` = `userlist`.`url` AND DATE(datetime) = ADDDATE(DATE(NOW()),-1) LIMIT 0 , 3) < 3
[/code]
написал вот такой запрос упростив, но запускать боюсь
правильно ли я сделал или можно как то подругому еще сделать???
[code]
UPDATE `userlist` AS `u`
LEFT JOIN (
SELECT `where`, COUNT(*) AS `count`
FROM `visitors`
WHERE DATE(`datetime`) = ADDDATE(DATE(NOW()), -1)
GROUP BY `where`
ORDER BY NULL
) AS `v` ON `u`.`url` = `v`.`where`
SET `u`.`status` = 'tested', `u`.`limit` = '0'
WHERE `u`.`status` = 'works' AND IFNULL(`v`.`count`, 0) < 3
[/code]
может есть другие варианты
база растет и все медленнее и медленнее работает...
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
38109
|
|