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

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

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

27 ответов

19 просмотров

Не совсем понял Ваши действия. Надо либо 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, размер по отношению к таблице.

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

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

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
12
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
4
Карта сайта