Использование индексированных представлений для инкапсуляции сложности больших запросов - это нормально для производительности? - PullRequest
0 голосов
/ 18 апреля 2011

Я создаю сложную систему запросов, основанную на «структуре представлений».

Таким образом, написание запросов высокого уровня очень просто.

В настоящее время производительность плохая (по сравнению счто я мог бы достичь, не используя представления), но использование индексированных представлений является решением?Если я создаю кластеризованный индекс только для полей, в которых мне нужно выполнять объединения, это решение?

1 Ответ

0 голосов
/ 18 апреля 2011

"рамки взглядов"

Если вы находитесь на ранних этапах выполнения этой задачи, то я бы рекомендовал вам отказаться от этой идеи "рамки взглядов",Хотя это правда, что он скрывает много сложности в некоторой степени только за счет производительности.И если у вас есть вложенные представления, у вас будет много проблем в будущем.Зайдите на любые форумы по SQL Server и найдите проблемы с производительностью вложенных представлений, и вы увидите боль.

Одна из проблем заключается в том, что некоторые предикаты НЕ отбрасываются правильно и эффективно, как это было бы в реальных таблицах.

http://blogs.msdn.com/b/bartd/archive/2006/08/14/select-from-a-view-slower-than-equivalent-select-from-the-base-table.aspx

Индексированные представления эффективно решают некоторые проблемы, но не во всех случаях, и имеют множество ограничений.Если коэффициент чтения-записи меньше, у вас будет больше проблем с производительностью.В некоторых случаях я эффективно использовал индексированные представления, чтобы значительно уменьшить число операций ввода-вывода [десятки тысяч логических операций ввода-вывода в однозначные операции ввода-вывода], но у них было высокое отношение чтения к записи.

http://technet.microsoft.com/en-us/library/cc917715.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...