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/
    东莞龙光网络
提供各种平台的解决方案
 网站建设与网站改版
 百度SEO(自然排名优化,年付)
 中国商机发布引擎(软件)
 SEO顾问咨询(门户站)
 网络推广外包(月付
http://www.xieguang133.com/
posted on 2009-08-11 16:45 xieguang133 阅读(212) 评论(0) 收藏 举报
                    
                
                
            
        
浙公网安备 33010602011771号