Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.05.2021, 00:59
|
|||
---|---|---|---|
|
|||
Можно ли выбраться из этого заколдованного круга? |
|||
#18+
Согласно библии, автор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. If the SELECT statement in the view definition specifies a GROUP BY clause, the key of the unique clustered index can reference only columns specified in the GROUP BY clause. If the view definition contains a GROUP BY clause, the key of the unique clustered index can reference only the columns specified in the GROUP BY clause. Поэтому, разумеется, вот это не прокатит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Но не прокатывает и когда делаешь, как там выше требуется: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Что именно нельзя, из этого сообщения непонятно. Мне нужно поле t и константа l. Индекс я создаю на t, и по нему же group by. Что я упустил? Объясните, пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.05.2021, 02:22
|
|||
---|---|---|---|
Можно ли выбраться из этого заколдованного круга? |
|||
#18+
гомодиализ Согласно библии, автор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. If the SELECT statement in the view definition specifies a GROUP BY clause, the key of the unique clustered index can reference only columns specified in the GROUP BY clause. If the view definition contains a GROUP BY clause, the key of the unique clustered index can reference only the columns specified in the GROUP BY clause. Поэтому, разумеется, вот это не прокатит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Но не прокатывает и когда делаешь, как там выше требуется: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Что именно нельзя, из этого сообщения непонятно. Мне нужно поле t и константа l. Индекс я создаю на t, и по нему же group by. Что я упустил? Объясните, пожалуйста! у вас мешается строковый литерал поскольку он считается выражением. а данное выражение в контексте наличия group by косвенно влияет на результат аггрегата. уберите Код: sql 1.
и тогда индекс построится. вообще у индексированых вьюх слишком дофига ограничений, вы уверены что оно вам надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.05.2021, 02:33
|
|||
---|---|---|---|
Можно ли выбраться из этого заколдованного круга? |
|||
#18+
ну или на крайняк если вам уж совсем нужна строковая константа делайте так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.05.2021, 10:12
|
|||
---|---|---|---|
Можно ли выбраться из этого заколдованного круга? |
|||
#18+
гомодиализ, Можно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1684711]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 563ms |
0 / 0 |