powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сугментированное представление
1 сообщений из 1, страница 1 из 1
Сугментированное представление
    #32019076
Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Решил опробовать реализацию сегментированных представлений и сделал все в точности с тем как описано в статье "Создание гор-но секци. представлений":

создал тройку таблиц, прописал check, создал представление


CREATE TABLE [dbo].[t_Trades022001] (
[TradeId] [int] NOT NULL ,
[TradeDate] [datetime] NOT NULL ,
[CustomerId] [int] NOT NULL ,
[ProductId] [int] NOT NULL ,
[Amount] [money] NOT NULL ,
[Month] [int] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[t_Trades012001] (
[TradeId] [int] NOT NULL ,
[TradeDate] [datetime] NOT NULL ,
[CustomerId] [int] NOT NULL ,
[ProductId] [int] NOT NULL ,
[Amount] [money] NOT NULL ,
[Month] [int] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[t_Trades032001] (
[TradeId] [int] NOT NULL ,
[TradeDate] [datetime] NOT NULL ,
[CustomerId] [int] NOT NULL ,
[ProductId] [int] NOT NULL ,
[Amount] [money] NOT NULL ,
[Month] [int] NOT NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[t_Trades022001] WITH CHECK ADD
CONSTRAINT [CK_t_Trades022001] CHECK ([Month] = 1)
GO

ALTER TABLE [dbo].[t_Trades012001] WITH CHECK ADD
CONSTRAINT [CK_t_Trades012001] CHECK ([Month] = 2)
GO

ALTER TABLE [dbo].[t_Trades032001] WITH CHECK ADD
CONSTRAINT [CK_t_Trades032001] CHECK ([Month] = 3)
GO

SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON
GO


CREATE VIEW dbo.v_Trades

AS
SELECT *
FROM t_Trades012001
UNION ALL
SELECT *
FROM t_Trades022001
UNION ALL
SELECT *
FROM t_Trades032001


Столкнулся с интересной особенностью
Два по сути одинаковых запроса имеют разный план исполнения

DECLARE @Period int

set @Month = month('01/02/01')

select * from v_Trades where (Month = @Period)

select * from v_Trades where (Month = 1)


В первом запросе выполнняется объединение всех таблиц, во втором - выполняется сканирование только первой таблицы.
Получается, что все преимущеста этой технологии теряются

В BOL информация о таких представлениях очень скупая
Может ли кто-нибудь дать какие-то комментарии


С уважением,
Александр
Soshnikov.A@jr.ru
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сугментированное представление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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