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




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

> Original message text:
> 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]
>
> может есть другие варианты
> база растет и все медленнее и медленнее работает...
>
>


From: lrlr - 16/03/2011 - 02:32:54
Subject:ПОМОГИТЕ ускорить сложнейший запрос, ХЕЛП!!!
-----------------
итак...
второй запрос набрался смелости и проверил
мозг не подвел
он работает и время его выполнения 0.1 сек
напомню что первый выполнялся 30-40 сек
но вот на счет того правильно ли он в базе все обновил понять не могу потому что слишком большая база
нужен ответ на вопрос правильно ли я составил второй запрос?

прошу потратить свое время всем кто хорошо знает данную тему, потому как вопрос не детский...


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

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

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



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