sql_index 索引测试

 1 
 2 
 3  -- 索引测试
 4  DROP   TABLE  Bank 
 5 
 6  CREATE   TABLE  Bank
 7 
 8      AccountNo  VARCHAR ( 20 )   PRIMARY   KEY  ,
 9      AccountName  VARCHAR ( 10 ),
10       [ Address ]   VARCHAR ( 100 ),
11      CurrentMoney  DECIMAL ,
12      Remark  TEXT
13  )
14  ALTER   TABLE  Bank
15       ADD   CONSTRAINT  DF_Remark  DEFAULT ( ' 他什么说明也没有写 ' FOR  Remark
16 
17  -- 添加测试数据
18  DECLARE   @n   INT , @i   INT , @AccountNo   VARCHAR ( 20 ), @AccountName   VARCHAR ( 10 ), @Address   VARCHAR ( 100 ), @CurrentMoney   DECIMAL , @ScrString   VARCHAR ( 100 )
19  SET   @ScrString = ' 你这他逐步形成档霜要个不是要地睛档案局要地本平村表决权一相 '
20  SET   @n = 0
21 
22  WHILE   @n < 1000000
23       BEGIN
24           SET   @i = 0
25           SET   @AccountName = ''
26           SET   @Address = ''
27           SET   @AccountNo = CONVERT ( VARCHAR ( 4 ),  CONVERT ( INT RAND () * 8999 + 1000 )) + CONVERT ( VARCHAR ( 4 ),  CONVERT ( INT RAND () * 8999 + 1000 ))
28           WHILE   @i < 2
29               BEGIN
30                   SET   @AccountName = @AccountName + SUBSTRING ( @ScrString , CONVERT ( INT RAND () * 25 ), 1 )
31                  
32                   SET   @i = @i + 1
33               END
34           SET   @AccountName = ' 名: ' +   @AccountName
35 
36           SET   @i = 0
37           WHILE   @i < 15
38               BEGIN
39                   SET   @Address = @Address + SUBSTRING ( @ScrString , CONVERT ( INT RAND () * 25 ), 1 )
40                   SET   @i = @i + 1
41               END
42 
43           SET   @CurrentMoney = RAND () * 10000
44           INSERT  Bank  VALUES ( @AccountNo , @AccountName , @Address , @CurrentMoney , DEFAULT )
45       SET   @n = @n + 1
46  END
47 
48  DELETE  Bank
49 
50  TRUNCATE   TABLE  BANK
51 
52  -- 添加索引
53  CREATE   INDEX   IX_Bank_AccountName  ON  Bank(AccountName)
54       WITH  PAD_INDEX  , FILLFACTOR   =   30
55 
56  CREATE   INDEX   IX_Bank_Address  ON  Bank( [ Address ] )
57       WITH  PAD_INDEX  , FILLFACTOR   =   30
58 
59  -- 删除索引
60  DROP   INDEX  IX_Bank_AccountName  ON  Bank
61  DROP   INDEX  IX_Bank_Address  ON  Bank
62 
63 
64  -- 清楚缓存
65  DBCC  FREEPROCCACHE
66  DBCC  DROPCLEANBUFFERS 
67 
68  -- 这一列比较有规律
69  SELECT   *   FROM  Bank  WHERE  AccountName = ' 名:霜形 '
70 
71  -- 这一列规律比较差,字段文本比较长,添加索引后效率提高不大
72  SELECT   *   FROM  Bank  WHERE   [ Address ]   LIKE   ' %形要案局这霜不你平他要要睛地要% '

转载于:https://www.cnblogs.com/seerlin/archive/2009/02/20/1394710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值