前段时间在公司做了个测试,测试在插入大批量数据时先建立索引的效率高还是后建立索引的效率高。
测试结果跟之前很多人一概而论的肯定是先插入数据的效率高的观点有点出入:当只有一个聚集
索引的时候,先建立聚集索引再插入数据的效率更高;有非聚集索引的时候先插入数据再建索引的
效率高。
/** 说明
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