Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с индексами по датам. / 9 сообщений из 9, страница 1 из 1
18.09.2019, 10:50
    #39863186
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
FB3.
Вот запрос:
Код: sql
1.
2.
3.
select *
from modul a
where a.tip_mdl=1 and current_date between a.ddatn and a.ddatend


Есть работы, у них есть дата начала и дата окончания. Нужно узнать какие работы выполняются сегодня. tip_mdl - тип работ. Манипуляция индексами с полями ddatn и ddatend не приводит к существенному уменьшению количества перебираемых записей. Что можно попробовать? tip_mdl для проформы, можно без него.
...
Рейтинг: 0 / 0
18.09.2019, 10:59
    #39863195
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
KreatorXXI, план запроса в студию!
...
Рейтинг: 0 / 0
18.09.2019, 11:24
    #39863217
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
KreatorXXI,

у меня работает

Код: sql
1.
2.
3.
select *
from service
where localtimestamp between datebegin and dateend



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Select Expression
    -> Filter
        -> Table "SERVICE" Access By ID
            -> Bitmap And
                -> Bitmap
                    -> Index "SERVICE_IDX_DATEEND" Range Scan (lower bound: 1/1)
                -> Bitmap
                    -> Index "SERVICE_IDX_DATEBEGIN" Range Scan (upper bound: 1/1)

План
PLAN (SERVICE INDEX (SERVICE_IDX_DATEEND, SERVICE_IDX_DATEBEGIN))

------ Информация о производительности ------
Время подготовки запроса = 15ms
Время выполнения запроса = 0ms
Среднее время на получение одной записи = 0,00 ms
Current memory = 558 252 784
Max memory = 558 477 296
Memory buffers = 32 768
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 51
...
Рейтинг: 0 / 0
18.09.2019, 11:43
    #39863229
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
Симонов Денис,

а индексы SERVICE_IDX_DATEEND и SERVICE_IDX_DATEBEGIN можно узнать какие?
...
Рейтинг: 0 / 0
18.09.2019, 11:49
    #39863242
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
KreatorXXI,

обычные (не составные) на каждое из полей
...
Рейтинг: 0 / 0
18.09.2019, 12:14
    #39863261
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
Симонов Денис,

Спасибо! Заработало как надо. А то я перебрал кучу составных вариантов. А всё просто.
...
Рейтинг: 0 / 0
18.09.2019, 12:17
    #39863264
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
KreatorXXIА то я перебрал кучу составных вариантовЗачем?
...
Рейтинг: 0 / 0
18.09.2019, 21:35
    #39863596
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
KreatorXXI,

ты в план Дениса посмотри. Там же написано, 1/1. Это сколько сегментов индекса из скольких используется.
1/1 значит индекс по 1 столбцу.
Композитные индексы имеет смысл строить только если у тебя ВСЕГДА идет поиск по этим столбцам, причем у первых столбцов - на равенство.

p.s. пора бы посмотреть видео про оптимизатор.
https://www.youtube.com/user/ibdeveloper/videos
...
Рейтинг: 0 / 0
18.09.2019, 21:56
    #39863605
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с индексами по датам.
kdvКомпозитные индексы имеет смысл строить только если у тебя ВСЕГДА идет поиск по этим столбцам, причем у первых столбцов - на равенство.

Я бы даже уточнил - у всех, кроме последнего.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с индексами по датам. / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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