Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите пожалуйста, что будет более производительнее, если стоит следующая задача: На сайте нужно заполнить 3 списка значениями (длина, ширина, высота). Есть таблица с сущностями, для которых прописаны габариты. Примерно, 200к. Уникальных значений в габаритах, 50-100. Как работает сейчас: Длинна = select distinct lenght from t Ширина = select distinct width from t Высота = = select distinct height from t или же, лучше хранить уникальные значения в отдельной таблице? tDimesions(caption, value) и брать с этой таблицы. Может так выгоднее будет, в смысле, менее ресурсозатратнее для сервера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 15:55 |
|
||
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
Ну или, т.к. значения габаритов редко меняются, может можно запросы кешировать как-то? А обновлять их лишь тогда, когда действительно попадает(или удаляется) новое значение габарита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 15:58 |
|
||
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
В отдельной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 17:09 |
|
||
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
копайте в сторону индексированных вьюх (с их ограничениями) https://docs.microsoft.com/en-us/sql/relational-databases/views/create-indexed-views?view=sql-server-2017 только вместо дистинкт будет group by create view lenght_view with schemabinding as select lenght,COUNT_BIG(*) from t group by lenght ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 18:39 |
|
||
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
SERG1257, зачем там любой count ? просто group by разве не вполне достаточно и без функции агрегации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 19:33 |
|
||
|
Делать ли select distinct или создать отдельную таблицу?
|
|||
|---|---|---|---|
|
#18+
vikkiv зачем там любой count ?Чтобы был. Из ссылки выше If GROUP BY is present, the VIEW definition must contain COUNT_BIG(*) and must not contain HAVING. These GROUP BY restrictions are applicable only to the indexed view definition. A query can use an indexed view in its execution plan even if it does not satisfy these GROUP BY restrictions. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 19:37 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39845180&tid=1687457]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
139ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 433ms |

| 0 / 0 |
