powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Min и Max value, надо ли выносить в представление?
5 сообщений из 5, страница 1 из 1
Min и Max value, надо ли выносить в представление?
    #39932415
palladin600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посоветуйте пожалуйста решение для следующей задачи.
Значит, есть таблица с кучей значений,
Границы min и max значений не сильно часто меняются, чаще срединные значения между ними.

И вот надо получить вывод диапазона от и до.
от Min(Values) до Max(Values).

Так вот, для ускорения, может есть смысл поместить результаты min и max в представление со schemabinding?
И чтобы рраз, одним запросом, получить примерно такой ответ:
Код: sql
1.
select * from viewrange 


Код: plaintext
1.
MinValue; MaxValue
-127; 4182

Или не заниматься самодеятельностью, и использовать обычные аггрегатные функции?
Код: sql
1.
select min(value), max(value) from tableValues
...
Рейтинг: 0 / 0
Min и Max value, надо ли выносить в представление?
    #39932427
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600
Так вот, для ускорения, может есть смысл поместить результаты min и max в представление со schemabinding?
Представление со schemabinding ничего не ускоряет. Индексированное представление с min и max сделать невозможно.
Хотите ускорить - сделайте индекс по value и перепишите запрос так
Код: sql
1.
2.
3.
4.
5.
select
 a.min_value, b.max_value
from
 (select top (1) value from tableValues order by value) a(min_value) cross join
 (select top (1) value from tableValues order by value desc) b(max_value);
...
Рейтинг: 0 / 0
Min и Max value, надо ли выносить в представление?
    #39932430
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
palladin600
Так вот, для ускорения, может есть смысл поместить результаты min и max в представление со schemabinding?
Представление со schemabinding ничего не ускоряет. Индексированное представление с min и max сделать невозможно.
Хотите ускорить - сделайте индекс по value и перепишите запрос так
Код: sql
1.
2.
3.
4.
5.
select
 a.min_value, b.max_value
from
 (select top (1) value from tableValues order by value) a(min_value) cross join
 (select top (1) value from tableValues order by value desc) b(max_value);



нет под рукой сервера, но при наличии индекса по value, вроде, достаточно просто
Код: sql
1.
select max(value), min(value) from ...


должно работать аналогично вашему коду.
...
Рейтинг: 0 / 0
Min и Max value, надо ли выносить в представление?
    #39932650
palladin600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
...сделайте индекс по value и ...

msLex
...при наличии индекса по value...


Понял, спасибо. А если есть несколько полей со значениями (value)? value1, value2..., то и индексов делать несколько? Так можно делать?
...
Рейтинг: 0 / 0
Min и Max value, надо ли выносить в представление?
    #39932675
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
palladin600
то и индексов делать несколько?
Да.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Min и Max value, надо ли выносить в представление?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]