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




MySQL.RU - Webboard



Вернуться
Вопрос к гуру по производительности (Alex) 16/09/2003 - 09:01:46
      Re: Вопрос к гуру по производительности (Werd) 16/09/2003 - 12:36:00
      Re: Вопрос к гуру по производительности (Alex) 16/09/2003 - 18:56:49
      Re: Вопрос к гуру по производительности (walrus) 17/09/2003 - 22:44:50
      Re: walrus - 17/09/2003 - 22:44:50 (Werd) 18/09/2003 - 13:35:08
      Re: walrus - 17/09/2003 - 22:44:50 (walrus) 18/09/2003 - 22:13:29
      Re: 2walrus - 17/09/2003 - 22:44:50 (Werd) 19/09/2003 - 07:54:21
      Re: walrus - 17/09/2003 - 22:44:50 (Dinky) 22/09/2003 - 21:04:40

> Original message text:
> From: Alex - 16/09/2003 - 09:01:46
> Subject:Вопрос к гуру по производительности
> -----------------
> Доброго времени суток. Подскажите плиз:
> есть поле field типа timestamp(12). Нужно делать выборку в периоде между определенными датами. В зачет идет дата до дня. Вижу способы:
> 1. select ...where field beetween xxxxxx000000 and xxxxxx000000
> 2. select ...where substr(field,0,6) = xxxxxx
> Вопросы:
> 1. Есть ли другие, более производительные способы?
> 2. Какой из вышеперечисленных производительней?
> Ожидаемое количество записей в таблице небольшое: десятки тысяч.
>


From: Werd - 16/09/2003 - 12:36:00
Subject:Вопрос к гуру по производительности
-----------------
Голая математика xxxxxx000000 раздели на 1000000 прировняй к целому по floor()

итого получаем:
select ...where floor(field/1000000) = xxxxxx
speed - 0.08 с

еще как вариант
where date_format(times, '%y%m%d') = xxxxxx
speed - 0.31 с

твой вариант where left(times,6) = xxxxxx
speed - 0.22 с

тестировалось на таблице в 150000 записей, на каждый день 8-10 тыс. записей


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

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

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



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