powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с индексами по датам.
9 сообщений из 9, страница 1 из 1
Помогите с индексами по датам.
    #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
Помогите с индексами по датам.
    #39863195
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI, план запроса в студию!
...
Рейтинг: 0 / 0
Помогите с индексами по датам.
    #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
Помогите с индексами по датам.
    #39863229
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

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

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

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

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

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

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


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