欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

硬件配置:赛扬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秒左右?

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 这是我的算法测试数据,大家看看如何改进速度……
分享到: 更多 (0)