ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sqlserver小结

sqlserver小结

原创 Linux操作系统 作者:tianleifei 时间:2013-02-26 15:53:42 0 删除 编辑
select * into PT_CUSTOMER_INFO_BAK from PT_CUSTOMER_INFO

类似oracle的create table as select * from t;

约束也不会带过来。


alt + q
看sql server的执行计划。


聚集索引表:和oracle的iot表,索引表是一样的概念,表和索引是在一起的,即:表就是排序的。

非聚集索引表:就是堆表

地址:http://hi.baidu.com/buzhizhe/item/fc325ebe2ee779f163388e48


执行计划:

1. 【Table Scan】:遍历整个表,查找所匹配的记录行。这个操作将会一行一行的检查,当然,效率也是最差的。

2. 【Index Scan】:根据索引,从表中过滤出来一部分记录,再查找所匹配的记录行,显示比第一种方式的查找范围要小,因此比【Table Scan】要快。

3. 【Index Seek】:根据索引,定位(获取)记录的存放位置,然后取得记录,因此,比起前二种方式会更快。

4. 【Clustered Index Scan】:和【Table Scan】一样。注意:不要以为这里有个Index,就认为不一样了。

    其实它的意思是说:按聚集索引来逐行扫描每一行记录,因为记录就是按聚集索引来顺序存放的。
    
    而【Table Scan】只是说:要扫描的表没有聚集索引而已,因此这二个操作本质上也是一样的。

5. 【Clustered Index Seek】:直接根据聚集索引获取记录,最快!


地址:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html


还有一个小问题,删除索引 和 删除主键的方式不同,因为主键属于约束,不是索引。

删除索引:drop index IDX_PROVINCE_ID on PT_CUSTOMER_INFO_BAK

删除主键:alter table PT_CUSTOMER_INFO_BAK drop constraint PK_PT_CUSTOMER_INFO_BAK

添加主键:

ALTER TABLE PT_CUSTOMER_INFO_BAK
ADD CONSTRAINT PK_PT_CUSTOMER_INFO_BAK PRIMARY KEY nonclustered(ID);
go 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8095524/viewspace-754758/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-01-18

  • 博文量
    1
  • 访问量
    3406