日期:2014-05-19  浏览次数:20443 次

如何优化数据表(极简单)
CREATE   TABLE   [T](
[id]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,
[A]   [varchar]   (200)   NOT   NULL   ,
[B]   [text]   NULL,
)

ID是自增主键。
对表T的操作非常频繁。
60%语句是
select   id   from   T   where   A   =   ...
20%是
update   T   Set   A   =   ...   where   id   =   ..
20%是
update   T   Set   B   =   ...   where   id   =   ..

请问给A建索引是否可以加快此业务?如何优化此表才能使速度最快?



------解决方案--------------------
CREATE TABLE [T](
[id] [int] IDENTITY (1, 1) NOT NULL ,
[A] [varchar] (200) NOT NULL ,
[B] [text] NULL,
)

create CLUSTERED index ix
on [T]([A])

--在[A]字段上建産聚集索引試試

------解决方案--------------------
可以,A非聚集索引
------解决方案--------------------
不能建索引,Update频繁,建索引会更慢
------解决方案--------------------
建索引后查看一下查询计划,根据最终得出的各种操作结果决定是否建立索引.
------解决方案--------------------
A非聚集索引,id聚集索引