技术开发 频道

SQL SERVER char 与 varchar的性能测试

【IT168技术文档】

    本次测试的SQL SERVER 2000 char varchar。

    测试分三组,每次增加插入的行数,脚本如下:

CREATE TABLE [dbo].[testchar] ( [a] [int] IDENTITY (1, 1) NOT NULL , [b] [char] (200) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[testvarchar] ( [a] [int] IDENTITY (1, 1) NOT NULL , [b] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO --truncate table testvarchar --truncate table testchar declare @i as int set @i=0 while @i<50000 begin insert into testvarchar values(cast(@i as varchar(200))) set @i=@i+1 if @i=50000 break end declare @i as int set @i=0 while @i<50000 begin insert into testchar values(cast(@i as char(200))) set @i=@i+1 if @i=50000 break end

 

     实验结果:

插入行数

数据类型

Cpu

duration

50000

varchar

2359

21203

50000

char

2344

22250

100000

varchar

4156

44500

100000

char

4172

44186

2000000

varchar

8907

89093

2000000

char

9188

96530

     两表存储空间比较

     Testchar:73.94M
    
Testvarchar:7.94M

 

 

 

 

 

0
相关文章