公司用MSSQL+IIS ,开发了一套FIS系统。一边开发一边使用
1.有个语句执行次数非常多,资源消耗不算多,最多的要消耗2000次,时间要0.010秒左右。之前一直没有关注这种东西。仔细看看,真发现点事。看了看代码,这只是一个简单的select id from table where boxid=xx order by id。这语句一天要执行大概50W次,还有类似的语句4个,执行的次数也都是50W次左右。
这东西做什么的?为什么要执行这么多回select?问了下开发的人,他告诉我:这东西就是在页面上显示信息的。
比如:每个产品有个ID,做好的产品在放在box中,做好一个就输入一次。输入ID后,要在页面上显示一下log记录,除了这个没有任何其它用途。经过了解还发现这个语句真的可以省了,只要把信息写在页面上就OK了。这算什么呢? 开发的说了,这么做主要是省事。。。
2.有个东西打条码的东西,很复杂的规则,一次生成20000条码并验证其它信息,目前只能先生成再打印。用打开trace后,发现这个过程要执行6-8秒。感觉无法理解,为什么没人说慢呢,后来又测试了用变量表,发现变量表快很多。(这个很丢人。测试的时候环境就出了问题:一个窗口开了statistics io,time on另一个没有开)结果就建议开发人员改过程,开发的哥们改完后说了并没有快多少,全是一秒就执行完了。感觉很奇怪,怎么会呢? 仔细看才发现,原来是profile与statistics的问题。开启profile或者statistics后,执行时间要8秒,不开启有1秒。 汗啊,看来profile与statistics执行时间不是很可信的。猜测是工具本身要收集数据导致时间变长。
开启profile后有可能使系统变慢??!!!!这东西MS建议说尽量不要在生产环境中使用。。。。现在是明白了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12807983/viewspace-700389/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12807983/viewspace-700389/