Delphi + SQL Server 运行速度问题,非常古怪,请高手多多参与!
Delphi + SQL Server 运行速度问题,非常古怪,请高手多多参与!
使用sql server 2000的时候,大家有没有遇到这样一个奇怪的问题?
我写的一个程序非常奇怪,我觉得我都是使用正常的程序写法,但是在实际执行的时候,同一个按钮里的程序(是一个查询程序,把符合条件的数据检索出来,然后用dbgrid显示),第一次执行的时候要花费大约15-20秒的时间,从第二次开始没有不到1秒就得到结果,几乎每次运行都是这样(有几回运行时第一遍也挺快),这个我就搞不懂了,请问有没有人遇到同样问题,以及解决方案?
问题点数:20、回复次数:7Top
1 楼stiwin((忙碌))回复于 2002-02-22 23:20:13 得分 0
可能是CahchSize的问题吧Top
2 楼Haiwer(海阔天空)回复于 2002-02-23 08:05:21 得分 20
这个问题一点也不奇怪,所有的Cahch起作用都有这个现象!
也不必什么解决方案,如果你多人用的话,你的大部分查询都是不到1秒,可以接受。Top
3 楼simalaya(小石)回复于 2002-04-26 19:28:29 得分 0
关注,强烈的关注。解决问题我也给加分,混分的就别说话了。Top
4 楼stonegem001(scs)回复于 2002-04-26 20:13:46 得分 0
你是不是没有使用DataBase和Session?
使用DataBase和Session,在程序启动时打开Session。以后的查询就应该会很快。Top
5 楼invalid(空心菜(Python是个好东东,大家多用用!))回复于 2002-04-26 23:29:19 得分 0
第一次执行是不是程序还没有连接数据库啊,要连接肯定是费时了。Top
6 楼tomzxd(苦行僧)回复于 2002-04-27 08:53:09 得分 0
其实这个并不是什么问题,我想解决的方法只能是优化自己的表结构,因为无论什么数据库从一个大数据表中进行查询总是需要花时间的.如果是数据表比较小我想就没有问题了.所以在设计数据库的时候就要考虑如何解决数据快速增加导致数据表变大而使查询变慢.
可以考虑如下的方法,把原本放在一张表中的数据按照一定的规律存放的不同的表中但是表结构一致就可以了.
如果你仔细研究SQL Server的查询分析器的话,你把那个花你很长时间查询的语句放到里面执行的话,第一次也会花比较长的时间,但是第二次也就快了,其实第二次的查询是Cache在起作用了而已,如果这个时候你换个表换个语句执行,然后再执行前面的语句,速递又会变慢了
Top
7 楼IronPromises(铁诺)回复于 2002-08-12 17:26:53 得分 0
结贴
Top




