博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用与不用聚集索引的区别 sql用例

Posted on 2011-11-26 00:08  moss_tan_jun  阅读(253)  评论(0编辑  收藏  举报

 

if not object_id('test_no_cx') is null
drop table test_no_cx
if not object_id('test_has_cx') is null
drop table test_has_cx

--创建一个不含索引的表test_no_cx
create table test_no_cx(id int, name varchar(20), createtime datetime default(getdate()))


--插入若干条记录(注意:这里故意打乱id的顺序)
insert test_no_cx(id, name) values(100,'100''s value')

insert test_no_cx(id, name) values(5,'5''s value')
insert test_no_cx(id, name) values(90,'90''s value')

--创建含索引的表test_no_cx
create table test_has_cx(id int, name varchar(20), createtime datetime default(getdate()))

create clustered index ix_test_has_cx on test_has_cx(id)

--将test_no_cx中的记录批量插入到test_has_cx中
insert test_has_cx select * from test_no_cx


--此时比较两表的记录如下:


--向两表中插入一条同样的记录
insert test_no_cx(id, name) values(50,'50''s value')

insert test_has_cx(id, name) values(50,'50''s value')

--此时比较两表的记录如下:

 

 注:以上sql可直接运行。