powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли ускорить выполнение запроса?
8 сообщений из 33, страница 2 из 2
Можно ли ускорить выполнение запроса?
    #32671029
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот если из индекса убрать DBEGDATE, то вроде все нормально !
Код: plaintext
PLAN (AMA INDEX (AMA_IDX1,DBEGDATEX,TEL_BX,TEL_BX,TEL_BX,TEL_BX,TEL_AX,TEL_AX,TEL_AX,TEL_AX))
Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671094
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnico
Код: plaintext
CREATE INDEX AMA_IDX1 ON AMA (DBEGDATE, SINTRANC, SOUTTRANC, NINCHANNEL, NOUTCHANNEL, STYPETRAFFIC_A, STYPETRAFFIC_B);

Код: plaintext
PLAN (AMA INDEX (DBEGDATEX,TEL_BX,TEL_BX,TEL_BX,TEL_BX,TEL_AX,TEL_AX,TEL_AX,TEL_AX))

Как такое можно понимать?

1) Зачем городить один композит? Он все равно не сможет быть использован полностью.

2) Какая селективность у этого индекса?
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671111
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, просто я стараюсь проанализировать все возможные варианты запросов и создать соответствующий индекс. Конечно может я и не прав.

Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671120
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DnicoА вот если из индекса убрать DBEGDATE, то вроде все нормально!

Тебя это действительно удивляет? Если уж очень хочется композит, то максимальную производительность даст следующий индекс:

Код: plaintext
CREATE INDEX AMA_IDX1 ON AMA (SINTRANC, SOUTTRANC, STYPETRAFFIC_A, STYPETRAFFIC_B, DBEGDATE);

(если я правильно помню исходный запрос)
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671144
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr
Понятно ...

Ну вот и помогли Ihor , хотя сам он куда-то исчез !

Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671152
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DnicoСогласен, просто я стараюсь проанализировать все возможные варианты запросов и создать соответствующий индекс. Конечно может я и не прав.

В корне не прав. Для "всех возможных" вариантов запросов подходят только односегментные индексы по всем полям. При всех недостатках такого подхода. Компрозиты должны затачиваться под конкретные запросы. Например, индекс:

Код: plaintext
CREATE INDEX IDX_F1F2 ON A (F1, F2);

может быть использован полностью (оптимально) для:

Код: plaintext
WHERE F1 =  0  AND F2 >  1 

но приведет к тормозам для:

Код: plaintext
WHERE F1 >  1 

и вообще не может быть использован для:

Код: plaintext
WHERE F2 =  0 
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671169
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ... нужно будет еще раз внимательно почитать про индексы. Век живи - век учись! Хотя я и редко сталкиваюсь с проблемами быстродействия, но лучше знать подводные камни.


Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Можно ли ускорить выполнение запроса?
    #32671304
Фотография Ihor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnico dimitr
Понятно ...

Ну вот и помогли Ihor , хотя сам он куда-то исчез !

Best regards,
Dnico
.

Ходил на обед ;-)
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли ускорить выполнение запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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