Почему индексные представления не могут иметь МАКСА () агрегат?

Я испытывал несколько индексных представлений, и впечатлен, но я почти всегда нуждаюсь в макс. или минута также и не могу понять, почему она не работает с ними, кто-либо может объяснить почему?

Я ЗНАЮ, что им не позволяют, я просто не могу понять почему!!! Количество и т.д. позволяется, почему не МИН/Макс, я ищу объяснение...

44
задан Mark Canlas 25 January 2010 в 19:04
поделиться

2 ответа

Эти агрегаты не допускаются, потому что их нельзя пересмотреть исключительно на основе измененных значений.

Некоторые агрегаты, такие как COUNT_BIG () или SUM () , могут быть пересматриваться, просто посмотрев на изменения данных. Они допускаются в проиндексированном представлении, потому что, если основное значение изменяется, воздействие этого изменения может быть напрямую рассчитано.

Другие агрегаты, такие как min () и max () , не могут быть пересматриваться, просто просматривая данные, которые изменяются. Если вы удалите значение, которое в настоящее время является максимальным или мин, то новое максимальное или мин необходимо искать и найти в целой таблице .

Тот же принцип применяется к другим агрегатам, таких как AVG () или стандартные агрегаты вариации. SQL не может пересчитать их только из измененных значений, но необходимо пересмотреть всю таблицу, чтобы получить новое значение.

80
ответ дан 26 November 2019 в 22:04
поделиться

Нет точки объявления интерфейса, чтобы быть абстрактным. Поскольку методы в интерфейсе абстрактны .. Еще одна вещь абстрактного класса может иметь как конкретные, так и абстрактные методы, но в интерфейсе должны быть только абстрактные методы.

-121--1062633-

Агрегатные функции, такие как Min / Max, не поддерживаются в индексированных представлениях. Вы должны сделать мин / макс в запросе, окружающем вид.

Существует полное определение о том, что есть и не допускается в проиндексированном представлении здесь (SQL 2005).
Цитата:

AVG, MAX, MIN, STDEV, STDEVP, VAR, или varp совокупные функции. Если AVG (выражение) указан в Запросы, ссылающиеся на проиндексированный вид, Оптимизатор часто может рассчитывать необходимый результат, если вид выбора список содержит сумму (выражение) и Count_big (выражение). Например, Индексированные представления Список Выбрать список не может Содержит выражение AVG (столбец1). Если список выбора представления содержит Сумма выражений (столбец1) и Count_big (column1), SQL Server может Рассчитайте среднее для запроса, который Ссылки на вид и указывает Avg (column1).

1
ответ дан 26 November 2019 в 22:04
поделиться
Другие вопросы по тегам:

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