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

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

Применил его к обычной вьюхе с кучей UNION ALL и объектами типа sys.objects и sys.foreign_keys внутри. И сработало однако!
Припоминаю однако, что уже такое видел где-то... С обычной вьюхой.
Ткните плз в документацию, а то я в недоумении
Не индексированные вью не могу не "разворачиваться", это же просто текст, без данных.
...
Рейтинг: 0 / 0
OPTION (EXPAND VIEWS) - только ли для Indexed views?
    #39876539
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставьте вместо 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
OPTION (EXPAND VIEWS) - только ли для Indexed views?
    #39876563
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
главное отличие двух запросов в том,
что первый параметризовался, а второй нет.
ну допишите еще и первому option(recompile).
и подивитесь, почему же он " вовсе не лезет в MyDB, даже Constant Scan не делает"
...
Рейтинг: 0 / 0
OPTION (EXPAND VIEWS) - только ли для Indexed views?
    #39876597
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

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


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