Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка дат / 9 сообщений из 9, страница 1 из 1
02.06.2005, 12:34
    #33097010
skylander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
В таблице есть колонка date, мне необходимо выбрать все строки за какой-то месяц, сейчас я пользуюсь like (where date like '2005-06%') Может быть есть более удобный и быстрый способ; с ростом базы, используемый вариант перестаёт устраивать.
Спасибо заранее.
...
Рейтинг: 0 / 0
02.06.2005, 12:40
    #33097028
Vlado
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
Это хорошо, что перестал устраивать :)

between нач_дата and кон_дата
?
...
Рейтинг: 0 / 0
02.06.2005, 12:45
    #33097042
skylander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
СПАСИБО :)) Выполняется на 40 процентов быстрее :))
...
Рейтинг: 0 / 0
02.06.2005, 14:49
    #33097510
drew0-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
а это попробуй:

для текущего:
[SCR]
... WHERE date_trunc('month', date) = date_trunc('month', current_date)
[/src]
для любого
[SCR]
... WHERE date_trunc('month', date) = date_trunc('month', '2005-06-01')
[/SRC]
...
Рейтинг: 0 / 0
14.06.2005, 12:03
    #33115312
pish_r
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
select * FROM Таблица
WHERE date_part('month', поле::timestamp)=номер_месяца ;

Это периоды которые поддерживаются
microseconds
milliseconds
second
minute
hour
day
month
year
decade
century
millennium
...
Рейтинг: 0 / 0
14.06.2005, 14:17
    #33115682
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
drew0-
а это попробуй:

для текущего:
Код: plaintext
1.
... WHERE date_trunc('month', date) = date_trunc('month', current_date)
для любого
Код: plaintext
1.
... WHERE date_trunc('month', date) = date_trunc('month', '2005-06-01')

и индекс дополнить/создать по выражению:
Код: plaintext
1.
2.
create index ...
    (date_trunc('month',date)),
...
...
Рейтинг: 0 / 0
14.06.2005, 17:04
    #33116182
drew0-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
skylander, ну что со скоростью?
...
Рейтинг: 0 / 0
19.06.2005, 16:17
    #33123583
skylander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
drew0-а это попробуй:

для текущего:
[SCR]
... WHERE date_trunc('month', date) = date_trunc('month', current_date)
[/src]
для любого
[SCR]
... WHERE date_trunc('month', date) = date_trunc('month', '2005-06-01')
[/SRC]
Если использовать это, то запрос выполняется на секунды две -три дольше, чем, при указании периода дат, даже с использованием индекса по месяцу
...
Рейтинг: 0 / 0
22.06.2005, 12:41
    #33128632
ilejn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка дат
Если использовать это, то запрос выполняется на секунды две -три дольше, чем, при указании периода дат, даже с использованием индекса по месяцу

Честно говоря, я бы предположил, что тут что-то не так -
совет drew0- про функциональный индекс толковый и правильный.

Не мог бы ты привести результаты эксперимента?
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка дат / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]