powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время выполнения запроса
12 сообщений из 12, страница 1 из 1
Время выполнения запроса
    #32401355
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем. Особое спасибо тем кто мне помог в теме
ИСПОЛЬЗОВАНИЕ ВХОДНЫХ ПЕРЕМЕННЫХ В ОПЕРАТОРАХ IN И BETWEEN .
Возникла новая проблема.
Меня не устраивает время выполнения моей процедуры, которая фактически представляет собой навороченный select.
Сориентируйте пожалуйста каково оптимальное время выполнения запроса?
У меня выполняется где-то за 2 s 200 ms. Но это через IBExpert. Когда я пробую тоже провернуть через клиентский набор данных в Delphi у меня практически всё виснет. Не понимаю что происходит?
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401365
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в IBExpert можно посмотреть так называемый "палн выполения запроса".

я уверен, что у Вас не используются индексы. Почитайте в этой области теории и документации.... если что непонятно, спрашивайте
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401379
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчёт индексов:
1 первичный ключ - по полю Счётчик
5 внешних ключей - связи со справочниками.
Поясни пожалуйста как вообще использовать индексы при запросе или существующие индексы сами используются?
Plan
PLAN (USERS NATURAL)

Adapted Plan
PLAN (USERS NATURAL)

------ Performance info ------
Prepare time = 3ms
Execute time = 2s 173ms
Avg fetch time = 241,44 ms
Current memory = 9 532 416
Max memory = 9 654 384
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 2
Fetches from cache = 993 825
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401382
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, а теперь запрос ;)
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401383
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Поясни пожалуйста как вообще использовать индексы при запросе или существующие индексы сами используются?

должны использоваться сами, если могут.

в вашем случае - не используются (не могут, скорее всего потому что отсутствуют нужные), о чем говорит слово "натурал".
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401391
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим я пишу:
select * from users
И результат такой же, т.е. индексы не используются, но почему не понятно
Plan
PLAN (USERS NATURAL)

Adapted Plan
PLAN (USERS NATURAL)

------ Performance info ------
Prepare time = 5ms
Execute time = 2ms
Avg fetch time = 0,20 ms
Current memory = 9 535 463
Max memory = 10 160 608
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 6
Fetches from cache = 429
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401396
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а когда выбираете все строки и не сортируете - их и незачем использовать! :)

у вас же не так? вы и отбираете по каким-то значениям, и сортируете?

че, запрос секретный какой? давайте его сюда, ругаться не буду :)
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401402
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос не секретный, а просто очень страшный. Я боюсь меня будут ругать на чём свет стоит за то что всё это можно было бы сделать по-другому.
Итак: (просто необходимо вычислить планы поставок, продаж, и ещё по двум тарифным ставкам - каждый на год) - это только часть
begin
for select users.*,

users.JANUARY*(select opmeaning from proc_ttr(:IPJANUARY, users.K_GRO, (select opmeaning from proc_cu(users.JANUARY, users.FEBRUARY, users.MARCH, users.APRIL, users.MAY, users.JUNE, users.JULY, users.AUGUST, users.SEPTEMBER, users.OCTOBER, users.NOVEMBER, users.DECEMBER, users.K_GROUP_USERS)), :IPNDS)),

users.FEBRUARY*(select opmeaning from proc_ttr(:IPFEBRUARY, users.K_GRO, (select opmeaning from proc_cu(users.JANUARY, users.FEBRUARY, users.MARCH, users.APRIL, users.MAY, users.JUNE, users.JULY, users.AUGUST, users.SEPTEMBER, users.OCTOBER, users.NOVEMBER, users.DECEMBER, users.K_GROUP_USERS)), :IPNDS)),

users.MARCH*(select opmeaning from proc_ttr(:IPMARCH, users.K_GRO, (select opmeaning from proc_cu(users.JANUARY, users.FEBRUARY, users.MARCH, users.APRIL, users.MAY, users.JUNE, users.JULY, users.AUGUST, users.SEPTEMBER, users.OCTOBER, users.NOVEMBER, users.DECEMBER, users.K_GROUP_USERS)), :IPNDS)),

from users
into :COUNTER, :NAME_USERS, :K_REGION, :K_BRANCH, :K_CONTRACT, :K_GRO, :K_GROUP_USERS,
:JANUARY, :FEBRUARY, :MARCH, :APRIL, :MAY, :JUNE, :JULY, :AUGUST, :SEPTEMBER, :OCTOBER, :NOVEMBER, :DECEMBER,

:JANUARYTTR, :FEBRUARYTTR, :MARCHTTR

do suspend;
end
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401409
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не удержусь: о майн готт!!! ;)

выбирается вся таблица и натурала не избежать.

могу предложить не считать, а хранить данные - завести еще таблицу, где по юзерам, годам и месяцам хранить посчитанные данные....

usercounter (это я так понял уникальный ключ)
year integer
month integer (1-12)
value (что там считается)

может, кто еще поскажет, а у меня крыша поехала.....
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401503
Malcik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Daa...............:)
Mojo licjnoje mnjenije, nacjinai vsje c nacjala. Slishkom zamucjena eta procedura.
Malcik
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32401530
Igor Elyas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдя.

Лучше начать сначала и перепроетировать БД. Судя по запросу это попытка работать с SQL сервером как с плоской БД, а это ивил.
...
Рейтинг: 0 / 0
Время выполнения запроса
    #32402047
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ, никто не обратил внимание на разницу во времяни... от 2 секунд до фиг знает скольки...
сдается мне что происходит полный фетч данных... А ЭТО НАДО?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время выполнения запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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