ASP+SQL查询查询问题--SQL占用很大内存?

先说下我的SQL数据库文件大概有900万条数据,约3.5G大小,全部在一个表中,以下是我的建表SQL脚本,其中在[XH]中个字段建立了聚集索引。 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ic]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[ic] GO CREATE TABLE [dbo].[ic] ( [id] [int] IDENTITY (1, 1) NOT NULL , [XH] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [PP] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [PH] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [FZ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [SL] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [BZ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [USERID] [int] NULL , [CNAME] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [ADRESS] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [TEL] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [XZ] [int] NULL , [RA] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [ISP] [int] NULL , [AID] [int] NULL , [KU] [int] NULL , [JJ] [int] NULL , [isp2] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE CLUSTERED INDEX [IX_ic] ON [dbo].[ic]([XH]) ON [PRIMARY] GO 我的ASP查询代码是: sql="select top "&page_size*page&" xh,pp,ph,fz,sl,bz,cname,adress,tel, isp,xz,ku,jj,userid,isp2 from ic where xh like '"&ICxh&"%' order by isp desc,xz desc,userid asc,jj asc" 在执行ASP查询的时候有的时候很快 ,但有的时候很慢,而且SQL占用的内存很快上升,最后ASP页面出现查询超时错误。 为什么有的时候能很快查出来,有的时候会出现SQL占用很大内存,而且不能释放呢?甚至导致死机。 1、分页,如果检索出的数据很多,建议使用一个存储过程分页 2、分表,如果可以,把这个表分为几个,sqlserver一个表超过200万,效率就很低了 3、提高sqlserver对内存和cpu的使用 但问题是为什么有的时候能很快查出,而且如果数据库中没有要查询的内容也能很快显示出来,但有的时候就是半天没反应,而且SQL占用内存飚升呢??是不是我的索引有什么问题? http://s.click.taobao.com/a/qXMXcnON3OE=-13807501 http://www.xieguang133.com/

posted on 2009-08-11 16:45  xieguang133  阅读(212)  评论(0)    收藏  举报

导航