日期:2014-05-17  浏览次数:20401 次

一句SQL的频繁查询数据库,导致16核的cpu 100%居高不下!
C# code

select top(1) a1, a2,a3 from 自己写的存储过程 where id='35345' and a1<='2012/9/18 0:20:00' order by a1 desc



------解决方案--------------------
问题应该出在这里: 自己写的存储过程
------解决方案--------------------
探讨
引用:
问题应该出在这里: 自己写的存储过程
这样给你说吧,同样的操作系统,同样的数据库,同样的程序,放在不同的服务器上,一个只有4%,一个100%大概有4-5s,但是我别的程序还需要访问数据库,这样导致数据库访问的不流畅

------解决方案--------------------
你是说同样的语句和存储过程,在不同服务器上差别这么大、?
------解决方案--------------------
from 存储过程?
只能from 函数 吧?
------解决方案--------------------
探讨
C# code

select top(1) a1, a2,a3 from 自己写的存储过程 where id='35345' and a1<='2012/9/18 0:20:00' order by a1 desc

------解决方案--------------------
不要使用FROM的方法拉,建议PROCEDURE传参数.
另外使用的大表一定加索引.

------解决方案--------------------
很明显,你的前台代码让服务器做了很多重复的劳动