powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизация запросов с большим количеством вставок и удалений
12 сообщений из 37, страница 2 из 2
Оптимизация запросов с большим количеством вставок и удалений
    #40000370
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorоптимизатор кладет на нее, если таблицы пустые
что, прямо для всех таблиц NATURAL использует? Нет же.
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000445
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
m7m
Чего-то я думал что при препарировании процедуры, происходит препарирование
и всех используемых процедур
Так и есть, только если они не были загружены в кеш раньше.
В чём сомнения ?

Да вот,
m7m
не укладывается с "когда таблица чуть больше - оптимизатор может решить взять индекс"

Что подразумевается под "таблица чуть больше"
Ибо вызываем процедуру обработки, она препарируется, препарируются все внутренние процедуры, определяются планы (и именно здесь один раз принимается решение об использовании индексов).
Я понял что "таблица чуть больше" - это в ней уже есть данные и их достаточное количество для принятия решения о использовании индекса. Однако чую что не прав с таким выводом.


Решил все-же в IBE посмотреть Вот таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE GLOBAL TEMPORARY TABLE RCALC_TEMP_ACCOUNT_ABON (
    CODE            TCODENN NOT NULL /* TCODENN = INTEGER NOT NULL */,
    ACCOUNT_CODE    TACCOUNT /* TACCOUNT = BIGINT */,
    CALC_PD_FROM    TCODE /* TCODE = INTEGER */,
    CALC_PD_TILL    TCODE /* TCODE = INTEGER */,
    SERVICE_CODE    TCODE /* TCODE = INTEGER */,
    CALC_DATE_FROM  TDATE /* TDATE = DATE */,
    CALC_DATE_TILL  TDATE /* TDATE = DATE */,
    HOUSE_CODE      TCODE /* TCODE = INTEGER */
) ON COMMIT DELETE ROWS;

ALTER TABLE RCALC_TEMP_ACCOUNT_ABON ADD CONSTRAINT PK_RCALC_TEMP_ACCOUNT_ABON PRIMARY KEY (CODE);

CREATE INDEX RCALC_TEMP_ACCOUNT_ABON_IDX1 ON RCALC_TEMP_ACCOUNT_ABON (HOUSE_CODE);



Вот запрос
Код: sql
1.
2.
3.
4.
select L10.Account_Code, L10.Calc_Pd_From
        from Rcalc_Temp_Account_Abon L10
        where L10.Service_Code = :A_Service_Code
          and L10.House_Code = :A_House_Code

и вот его план
Код: sql
1.
PLAN (L10 INDEX (RCALC_TEMP_ACCOUNT_ABON_IDX1))



(Это реальная таблица и реальные запрос, ну разве что INTO убрал)

Ломаете вы, мою, такую ясную до этого, модель работы FB
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000464
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

я не пойму, а чего ты ожидал? Тоже plan natural, как и pastor ?
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000518
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

насколько я понимаю, когда в запросе одна таблица - у оптимизатора нет сомнений в использовании индекса.
А вот когда таблиц несколько и нужно определить порядок джойнов - вот тут уже есть простор для выбора и в отсутствие статистики кардинальность играет свою роль.
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000564
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
m7m,

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

Спасибо
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000853
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

pastorDimitry Sibiryakov советует использовать память предыдущих перерождений, в нашем же
случае, карма очищается полностью и колесо сансары делает полный оборот.

И вот как тут не будешь грубым с такой вот общественностью?..

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


с наших эмпиреев некоторые вещи виднее.
пересобирание индексов после рестора, пересобирание всех индексов одним чохом по кнопке пользователя и пр.

динамический параметр эфемерной сущности

мы лучше гвоздиком на 250 приколотим и с той стороны загнем.
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000855
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorпересобирание индексов после рестора

это ещё зачем, или вы рестор с переключателем -i делаете?
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000873
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
pastorпересобирание индексов после рестора


это ещё зачем, или вы рестор с переключателем -i делаете?

зачем людям база с данными и несобранной статистикой?

90% - поломали - mend - backup(ignore) - restore.
в запущенных случаях - перенос в чистую БД, со сбором статистики :)

в остальных 10% - удаление старых данных/backup/restore
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40000889
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,

при ресторе индексы создаются неактивными, а потом строятся (активируются). После построения индекса статистика в них всегда наисвежайшая.
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40001577
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
pastor,

при ресторе индексы создаются неактивными, а потом строятся (активируются). После построения индекса статистика в них всегда наисвежайшая.


во временных таблицах?
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40001580
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,

причём тут временные таблицы? Они после рестора данными сами не наполнятся
...
Рейтинг: 0 / 0
Оптимизация запросов с большим количеством вставок и удалений
    #40001585
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
pastor,

причём тут временные таблицы? Они после рестора данными сами не наполнятся


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


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