Информация об изменениях

Сообщение Re[43]: EntityFramework - тормоз от 20.04.2015 9:55

Изменено 20.04.2015 9:57 Evgeny.Panasyuk

Здравствуйте, Sinclair, Вы писали:

EP>>И чем они помогут в случае динамических фильтров и динамических предикатов?

S>На уровне базы динамические фильтры от нединамических неотличимы. Нет никакого специального синтаксиса для select, который выбирает "динамику".
S>Движок каждый раз сравнивает запрос с набором индексов, и выбирает оптимальный план. Если движок приличный, то он ещё и учитывает конкретные значения параметров запроса и статистику реальных данных для оценки селективности различных частей предикатов.

Здесь под динамическими фильтрами и предикатами — подразумеваются выражения неизвестные во время сборки приложение. Их "специальность" в том, что для них нельзя построить индексы заранее.

EP>>Для динамических запросов, с динамическими формулами?

S>Индексированное представление — один из хороших вариантов сделать "прикладное кэширование", показав базе, какие производные данные мы ожидаем часто видеть в запросах.

Как создать индекс для динамических формул?

S>И опять: вся мощь оптимизации движка позволяет нам получать высокую производительность независимо от "степени динамичности".


Не будет никакой высокой производительности для выражений задающихся извне.
Re[43]: EntityFramework - тормоз
Здравствуйте, Sinclair, Вы писали:

EP>>И чем они помогут в случае динамических фильтров и динамических предикатов?

S>На уровне базы динамические фильтры от нединамических неотличимы. Нет никакого специального синтаксиса для select, который выбирает "динамику".
S>Движок каждый раз сравнивает запрос с набором индексов, и выбирает оптимальный план. Если движок приличный, то он ещё и учитывает конкретные значения параметров запроса и статистику реальных данных для оценки селективности различных частей предикатов.

Здесь под динамическими фильтрами и предикатами — подразумеваются выражения неизвестные во время сборки приложения. Их "специальность" в том, что для них нельзя построить индексы заранее, а не в том что у них какой-то особенный синтаксис.

EP>>Для динамических запросов, с динамическими формулами?

S>Индексированное представление — один из хороших вариантов сделать "прикладное кэширование", показав базе, какие производные данные мы ожидаем часто видеть в запросах.

Как создать индекс для динамических формул?

S>И опять: вся мощь оптимизации движка позволяет нам получать высокую производительность независимо от "степени динамичности".


Не будет никакой высокой производительности для выражений задающихся извне.