Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPTION (EXPAND VIEWS) - только ли для Indexed views? / 6 сообщений из 6, страница 1 из 1
15.10.2019, 00:31
    #39876297
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
Либо уже поздно и я туго соображаю, но в документации написано, что данный хинт токо для Indexed views.

Применил его к обычной вьюхе с кучей UNION ALL и объектами типа sys.objects и sys.foreign_keys внутри. И сработало однако!
Припоминаю однако, что уже такое видел где-то... С обычной вьюхой.
Ткните плз в документацию, а то я в недоумении
...
Рейтинг: 0 / 0
15.10.2019, 00:45
    #39876298
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
GlebanskiЛибо уже поздно и я туго соображаю, но в документации написано, что данный хинт токо для Indexed views.

Применил его к обычной вьюхе с кучей UNION ALL и объектами типа sys.objects и sys.foreign_keys внутри. И сработало однако!
Припоминаю однако, что уже такое видел где-то... С обычной вьюхой.
Ткните плз в документацию, а то я в недоумении
Не индексированные вью не могу не "разворачиваться", это же просто текст, без данных.
...
Рейтинг: 0 / 0
15.10.2019, 13:18
    #39876539
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
Поставьте вместо MyDB любую вашу базу

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CREATE OR ALTER VIEW vTest765 as
		SELECT  'MyDB' as DatabaseName,p.Name as ReferencedTable , col2.name
		as ReferencedColumn,  t.Name  as dd,  fk.name as ff, 
			fk.delete_referential_action_desc, fk.update_referential_action_desc
			FROM MyDB.sys.foreign_keys fk
			INNER JOIN MyDB.sys.objects t ON fk.parent_object_id = t.object_id
			INNER JOIN MyDB.sys.objects p ON fk.referenced_object_id = p.object_id
			join MyDB.sys.foreign_key_columns fkc on fkc.parent_object_id = t.object_id 
			JOIN MyDB.sys.columns col2
				ON col2.column_id = referenced_column_id AND col2.object_id = p.object_id
		UNION ALL
		SELECT  'msdb',p.Name , col2.name ,  t.Name ,  fk.name, 
			fk.delete_referential_action_desc, fk.update_referential_action_desc
			FROM msdb.sys.foreign_keys fk
			INNER JOIN msdb.sys.objects t ON fk.parent_object_id = t.object_id
			INNER JOIN msdb.sys.objects p ON fk.referenced_object_id = p.object_id
			join msdb.sys.foreign_key_columns fkc on fkc.parent_object_id = t.object_id 
			JOIN msdb.sys.columns col2
				ON col2.column_id = referenced_column_id AND col2.object_id = p.object_id;

-- Далее
SELECT * FROM vTest765 WHERE DatabaseName = 'msdb';
SELECT * FROM vTest765 WHERE DatabaseName = 'msdb' OPTION (EXPAND VIEWS);



Главное отличие первого запроса от второго, что запрос с OPTION (EXPAND VIEWS) вовсе не лезет в MyDB, даже Constant Scan не делает.
...
Рейтинг: 0 / 0
15.10.2019, 13:33
    #39876563
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
главное отличие двух запросов в том,
что первый параметризовался, а второй нет.
ну допишите еще и первому option(recompile).
и подивитесь, почему же он " вовсе не лезет в MyDB, даже Constant Scan не делает"
...
Рейтинг: 0 / 0
15.10.2019, 14:40
    #39876597
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
Yasha123,

RECOMPILE сработал как положено. Но при чем тут EXPAND VIEWS по прежнему загадка
...
Рейтинг: 0 / 0
15.10.2019, 14:48
    #39876599
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OPTION (EXPAND VIEWS) - только ли для Indexed views?
GlebanskiYasha123,
при чем тут EXPAND VIEWS по прежнему загадка
он просто не дал параметризовать запрос.
и при известном значении константы при выборе плана
часть с "другой базой" была отсечена.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPTION (EXPAND VIEWS) - только ли для Indexed views? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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