我的SQL数据库中有一个大约250万的数据库,每次用起来都非常慢,而且内存占用非常大,查询一次大概需要5分钟左右,而且查询完了他也不自动释放内存,不知道有没有什么方法解决?
还有就是查询非常慢,有没有什么好方法,是不是建立一个索引能解决啊 ?该怎么建?是用命令还是在SQL数据库有一个设置可以建?
头晕阿!!!
我的机器是64位双核,512内存,不知道跑一边5分钟正常不?
我说的内存没有释放 指的是没有运行数据库前内存占用100M左右,一运行猛增加到400多接近500,运行结束了,还是有400+的占用,几乎没有释放。运行其他的也变得非常卡?有没有什么办法解决?
[此贴子已经被作者于2007-10-29 15:49:15编辑过]
我用的是VFP客户端通过局域网调用SQL,VFP里是调用最简单的SELECT语句,例如
select_sql="select file_name as 文件名称, file_path as 文件路径, file_type as 文件类型, file_clime as 文件区域, file_trade as 文件行业, user_date as 文件日期 from ird_database where "
select_return=SQLEXEC(lnhandle,select_sql,"select_cursor")
不知道还有没有什么优化的办法?
还有,我不太清楚SQL索引的方法,是不是管理平台索引和命令索引是同一个效果?上边语句应用索引查询用不用什么改变?
谢谢各位大侠指教了
对了,我的这个机器配置,一般都查询一次的时间在多少以内比较正常?
你在查询分析器下面做同样的查询也费这么长时间么?
也同样占用系统资源并且不会释放么?
因为你的是最简单的查询语句 所以不会是SQL在负载问题引起的资源竞争或者是数据库死锁。你开发的程序在不调用数据库的情况下 系统表现是否正常呢?
似乎有些眉目了!
我在查询分析器里边依然非常浪费时间,但内存应该能少占用20-40M左右。
作了些测试,当用精确查询“=辽宁省”是非常快,大概3-5秒,内存占用比较少,但用模糊查询"LIKE %辽宁省%"时,速度非常慢,5-7分钟,而且内存占用也非常大,不知道有没有发放解决?
还有,昨天对"FILE_NAME"字段建立了个索引,索引名字IRD_INDEX,今天试验为什么不但没有快,反也还慢了 ,我没有用过,应用索引的语句还用不用改 ?比如 原来的是:"select file_name as 文件名称,file_path as 文件路径, file_type as 文件类型, file_clime as 文件区域 where file_name like '%辽宁省%' "用不用将file_name 替换成“IRD_INDEX”?