我准备执行存储过程的语句是:exec usp_G @AAA='abc'
1、通过网站应用,连接SQL服务器,执行,结果cpu: 300 read:30000
2、直接在SQL服务器里执行,结果cpu:141 read:1982  测试过,应用与SQL服务器在同一台机器和在局域网内的情况,均得到同样的结果。即CPU,READ两个值在情况1时都很大,不知为什么?

解决方案 »

  1.   

    直接在SQL服务器里执行 与 直接在SQL服务器上执行的区别只有网络的影响,前者需要将执行语句发送到SQL服务器上执行。对于应用程序端或web执行语句,我想影响的因素更多。
      

  2.   

    不会吧 cpu倒也算了 磁盘读取数 怎么差10多倍,再检查下调用数据库的方式和参数呢
      

  3.   

    调用数据库的方式是采用微软的标准模式来写的。
    另外,还发现,虽然执行后的结果集是空的,但CPU,READ两个值很大。
      

  4.   

    cpu,read是通过SQL Server Profiler跟踪器上显示的内容。