出自:软件工程
你管理一个SQL Server 2008数据库,其中包含名为dbo.Sales的表,该表包含下面的表定义:
CREATE
TABLE [dbo].[Sales]([SalesID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY
CLUSTERED,[OrderDate] [datetime] NOT NULL,[CustomerID] [int] NOT
NULL,[SalesPersonID] [int] NULL,[CommentDate] [date] NULL);
此表包含数百万条订单。你运行下面的查询来确定销售人员何时在dbo.Sales表中提供备注:
SELECT
SalesID,CustomerID,SalesPersonID,CommentDate FROM dbo.SalesWHERE CommentDate IS
NOT NULL AND SalesPersonID IS NOT NULL;
你发现此查询运行很慢。检查数据之后,你发现只有1%的行有备注日期,10%的行的SalesPersonID为null。你需要创建索引来优化此查询。索引必须在优化查询的同时节省磁盘空间。应创建哪个索引?
A.CREATE NONCLUSTERED INDEX idx1 ON dbo.Sales (CustomerID) INCLUDE (CommentDate,SalesPersonID);
B.CREATE NONCLUSTERED INDEX idx1 ON dbo.Sales (SalesPersonID) INCLUDE (CommentDate,CustomerID);
C.CREATE NONCLUSTERED INDEX idx1 ON dbo.Sales (CustomerID) INCLUDE(CommentDate) WHERE
SalesPersonID IS NOT NULL;
D.CREATE NONCLUSTERED INDEX idx1 ON dbo.Sales (CommentDate, SalesPersonID) INCLUDE(CustomerID) WHERE
CommentDate IS NOT NULL;
你管理位于公司总部的SQL Server 2008数据库。该数据库包含一个名为dbo.Sales的表。你需要创建dbo.Sales表的不同视图,这些视图将由每个地区插入、更新和删除行。每个地区办事处必须只能插入、更新和删除其相应地区的行。应该为Region1创建哪个视图?
A.CREATE VIEW dbo.Region1Sales AS SELECT
SalesID,OrderQty,SalespersonID,RegionID FROM dbo.Sales WHERE RegionID = 1;
B.CREATE VIEW dbo.Region1Sales AS SELECT SalesID,OrderQty,SalespersonID,RegionID
FROM dbo.Sales WHERE RegionID = 1 WITH CHECK OPTION;
C.CREATE VIEW dbo.Region1Sales WITH SCHEMABINDING AS SELECT
SalesID,OrderQty,SalespersonID,RegionID FROM dbo.Sales WHERE RegionID = 1;
D.CREATE VIEW dbo.Region1Sales WITH VIEW_METADATA AS
SELECT SalesID,OrderQty,SalespersonID,RegionID FROM dbo.Sales WHERE RegionID =