为什么搜索速度可以提高这么多,关于索引
bzscs 2006-08-09 03:45:02 做了一个查询asp网页,表结构如下
CREATE TABLE [dbo].[ip] (
[begin] [bigint] NOT NULL ,
[end] [bigint] NOT NULL ,
[area] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[id] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED INDEX [IX_ip] ON [dbo].[ip]([begin]) WITH FILLFACTOR = 100, PAD_INDEX ON [PRIMARY]
GO
CREATE INDEX [IX_ip_1] ON [dbo].[ip]([end]) WITH FILLFACTOR = 100 ON [PRIMARY]
GO
存储过程输入@ipnum参数来查询
SELECT top 1 @area = isnull(area,'')
FROM [ip2]
WHERE @ipNum BETWEEN [begin] AND [end]
在网页上查询几个数据后,执行时间是:在数据库表中排列靠前的,就快些;处于表中排列靠后的,就慢些,有100-200多毫秒的
我进入企业管理器,进“设计表”,右键》索引/键,取消“填充索引”,又选中“填充索引”,退出保存
又搜索了一些数据;突然发现,搜索执行时间大部分在15毫秒以内了;是不是数据库根据前面的情况,做出了某种调整呢?我又搜索一些前面没有输入过的数据来查询,发现大部分搜索执行时间都在15毫秒左右了