新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:这是我的算法测试数据,大家看看如何改进速度……

这是我的算法测试数据,大家看看如何改进速度……

新客网 XKER.COM 2003-07-11 来源: 收藏本文
硬件配置:赛扬300A(超频到4.5*100用)、内存224MB、硬盘4.3G昆腾火球八代、6.4G昆腾火球九代各一个(系统装在6.4G的盘上)

IIS4.0+sp6、Sql server7.0英文版(安装全文检索服务)


记录数293415(数据库大小1.24GB)、每页大小20条记录,共14671页。
下列时间由Sql server的getdate函数测得:

           花费时间:

不搜索(直接定位页):
第一页:      90ms
第1000页:  2783ms
第2000页:  5516ms
第4000页: 11246ms
第8000页: 22020ms
第10000页:27430ms
第14671页:超时

上下翻页:90ms(由于上下翻页采用ID记录定位查找,时间跟页的前后没有关系,也就是从第1页翻到第2页跟从第10000页翻到第10001页所用的时间是一样的)

在此测试中:发现Sql server将绝大部分时间花在填充游标上,游标内记录条数越多,花时间越长;每条记录的内容越多,所花的时间越长。这就提醒在使用时,在Select语句中,尽量将不用的字段去掉,以增快速度。


执行贴子标题搜索时:
没找到时:14930ms,其中包括4056ms为计算记录条数时间。
找到293411条,显示第1页,21270ms,其中包括计算记录条数count(*)所用6276ms
找到293411条,显示第5000页,24153ms,其中包括计算记录条数count(*)所用5216ms
二次搜索(不计数)显示10000页,24066ms.
二次搜索后,上下翻页:130ms.

显示记录内容及相关标题:
当没有给rootid做索引时,用去了9秒左右;给rootid加上索引后,时间减为4.5秒左右;索引经过优化后,时间加快到2.7秒;将execute(@sql)改为直接执行相应的Select语句后,最后时间变为870ms左右。
忠告二:任何时候都要使用索引加快查找速度,还应该注意索引的优化。

发贴时,深度大了好象很慢……一层要用1秒左右?
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐