SQL SERVER 插入大批量数据有无索引的效率对比

本文通过测试发现,在SQL SERVER中,插入大批量数据时,是否预先创建索引会影响效率。当只有聚集索引时,先建索引再插入数据效率更高;若有非聚集索引,则先插入数据再建索引效率更优。测试环境为SQL SERVER 2008 R2,测试表包含86个字段,不同场景下,如跨服务器、多非聚集索引、大数据量等情况,效率差异可能更为显著。
摘要由CSDN通过智能技术生成

前段时间在公司做了个测试,测试在插入大批量数据时先建立索引的效率高还是后建立索引的效率高。

测试结果跟之前很多人一概而论的肯定是先插入数据的效率高的观点有点出入:当只有一个聚集

索引的时候,先建立聚集索引再插入数据的效率更高;有非聚集索引的时候先插入数据再建索引的

效率高。

               

/** 说明

1. 测试SQL SERVER 插入大批量数据的效率对比,

   对比(B方案)先插入100W条数据后再建主键和索引所耗时间

   与A方案)建立索引和主键后再插入100W条数据所耗时间,

   针对三种表:

      1)只有一个聚集索引

      2)有一个聚集索引和一个非聚集索引

      3)有一个聚集索引和两个非聚集索引

2. SQL SERVER VERSION:Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) 

   Developer Edition on Windows NT 6.0 <X64> (Build 6002: Service Pack 2) (WOW6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值