软件学院 认证题目 请大家一起商讨 并且给出答案和理由
32.你是一个生产在线电话目录的公司的数据库开发者。
有个名为phonenumbers的表格展示如下。
在载入100,000个name到表格,你通过下面的脚本创建索引。
ALTER TABLE [dbo]. [PhoneNumbers] WITH NOCHECK ADD
CONSTRAINT[PK_PhoneNumbers]PRIMARY KEY CLUSTERED (
[FirstName],
[LastName],
) ON [PRIMARY]
GO
CREATE UNIQUE INDEX
[IX_PhoneNumbers] ON [dbo].[PhoneNumbers](
[PhoneNumberID]
) ON [PRIMARY]
GO
你检验数据库的反应。你发现向下面的查询要花费长时间来运行。
为生活在某一城市和last name以w开始的人返回所有的名字和电话号码。
你该如何改进该查询语句。(选2)
A.用跟随在firstnamega列后的lastname列来更改主键的约束。
B.在city列上添加一个非聚集索引。
C.在areacode,exchange,和number列上创建非聚集索引。
D.删除phonenumberid列上的唯一索引。
E.更改主键约束,换成非聚集索引。
F.在查询分析器中执行更新统计扫描所有的语句。
答案:
问题点数:0、回复次数:5Top
1 楼SARSII(八声)回复于 2005-01-01 23:10:30 得分 0
markTop
2 楼clkun(我来是学习)回复于 2005-01-02 02:19:11 得分 0
关注....Top
3 楼mschen(Co-ok)回复于 2005-01-02 13:02:55 得分 0
--答案应该是A和B吧!
既然是lastname以w来查询,那么簇索引中应该把lastname放在firstname之前.
where子句里边有city,那么就应该在city列上建立非簇索引.
上边建立的索引可以形成索引覆盖,减少了逻辑I/O的次数.Top
4 楼qxq321()回复于 2005-01-02 15:16:46 得分 0
up
Top
5 楼xuhongying8848(偶遇-邂逅)回复于 2005-01-02 21:39:31 得分 0
markTop




