169 похожих чатов

Добрый день коллеги. Почему такое расхождение? Пробовал полностью перестроить индексы

с обновлением статистики. Не помогло.

27 ответов

81 просмотр

Не совсем понял Ваши действия. Надо либо Rebuild всех индексов, либо update statistics with full scan

Игорь-Беринчик Автор вопроса
val prad
Не совсем понял Ваши действия. Надо либо Rebuild в...

Объясню. Недавно работаю на текущем месте. Заметил что в большинстве запросов такая ситуация как на скрине, оптимизатор запросов неверно рассчитывает количество строк. Вчера уже взял пример запроса, на тестовой базе попробовал поиграться с индексами на конкретной таблице. Перестраивал индекс, обновлял статистику, удалял индексы и заново создавал, результат не меняется. при любых манипуляциях одинаковое время выполнения и количество строк. При этом сам скуль показывает что фрагментация индексов 0.

Игорь Беринчик
Объясню. Недавно работаю на текущем месте. Заметил...

Так надо слать DDL таблиц Запрос План - полностью , не огрызок И тогда можно обсуждать

Игорь-Беринчик Автор вопроса
Ilya Zviagin
Так надо слать DDL таблиц Запрос План - полностью ...

Хорошо. Попозже скину сам запрос и план обслуживание который использовал для индексов.

Игорь Беринчик
Хорошо. Попозже скину сам запрос и план обслуживан...

План обслуживания не нужен. Нужен план запроса

Вообще количество записей в узле плана запроса не Обязательно должно совпадать с реальным количеством записей это во-первых не нужно, во-вторых невозможно Потому что эти количества рассчитываются оптимизатором приблизительно на основе усреднённой статистики И то что там в узлах цифры показываются не те, что в реальности ни на что на самом деле не влияет, потому что оптимизатору запросов важны относительные количества записей в разных вариантах плана запроса чтобы выбрать тот или иной план по стоимости А вот абсолютное значение этих показателей Ну на самом деле это стоимости плана элементов плана и плана целиком, они не важны. И если у тебя в итоге выбирается правильный Ну то есть адекватный и хороший план запроса, то в общем-то беспокоиться больше не о чем

Игорь-Беринчик Автор вопроса
Ilya Zviagin
Вообще количество записей в узле плана запроса не ...

Может такое произойти из-за неоптимального запроса со стороны 1С?

Игорь Беринчик
Может такое произойти из-за неоптимального запроса...

Это даже постановка вопроса неверна, запрос может быть не оптимальным, но стоимость шагов плана может быть верной

Игорь Беринчик
Может такое произойти из-за неоптимального запроса...

Ну и самое главное не надо перестраивать индексы бездумно только из-за того что стоимости в планах по твоему мнению какие-то там кривые

Ilya Zviagin
Вообще количество записей в узле плана запроса не ...

Несовпадение ожидаемого и полученного количества строк влияет на длительность работы запроса. Типы соединений таблиц оптимизатор выбирает опираясь на ожидания. Если реально читается больше, то и запрос работает медленнее. Если бы оценка была точнее, то оптимизатор мог выбрать другой тип соединения или порядок работы с таблицами.

Ilya Zviagin
Не влияет я выше написал Почему

ну то етсь оптимизатор ожидал 3 строки и выбрал нестед луп а прилетело на несколько порядков больше и типа длительность не поменяется да?

Andrey S
Несовпадение ожидаемого и полученного количества с...

Оценка оптимизатором количество записей то есть по сути Это стоимость шага запроса она не может быть точной в принципе и она не обязана совпадать с реальными значениями количество записей она и даётся пользователь в плане только как какая-то характеристическая оценка стоимости этого плана Она не должна и не может совпадать с реально количеством записей это в принципе невозможно

Игорь-Беринчик Автор вопроса
Игорь Лобанов
ну то етсь оптимизатор ожидал 3 строки и выбрал не...

вот и я так предположил что от этого может зависеть время выполнения запроса

Ilya Zviagin
не поменяется относительно чего?

ну епт не делай вид тчо не понимаешь относительно того если бы прилетело 3 строки как и ожидал

Andrey S
Это какой-то поток сознания.

Я просто набираю через Google диктат Он иногда лажает

Игорь Лобанов
ну епт не делай вид тчо не понимаешь относительно ...

Ну так если бы прилетело три строки то это гипотетическая ситуация, её никогда не могло быть, и с ней сравнивать бессмысленно

dta_index - это похоже на индекс, предложенный Database Engine Tuning Advisor. Я бы с осторожностью подходил к таким индексам - он может предлагать покрывающие индексы на десятки столбцов, что в большинстве случаев неоптимально.

Игорь-Беринчик Автор вопроса
Andrey S
dta_index - это похоже на индекс, предложенный Dat...

то есть? лучше не трогать если сомневаешься?

Игорь Беринчик
то есть? лучше не трогать если сомневаешься?

В данном случае, надо посмотреть на его структуру, оценить соотношение read/update, размер по отношению к таблице.

Игорь Беринчик
то есть? лучше не трогать если сомневаешься?

В общем случае - такие индексы слепо не создавать.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта