用Timers时SQL执行时的CPU占用率非常高,怎么办??
这是个项目代码:private void Form1_Load(object sender, EventArgs e)
{
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
this.landing.Text = "正在初始化数据,请稍后。。。";
int TimeSpace = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["TimeSpace"].ToString());
//System.Timers.Timer t = new System.Timers.Timer(TimeSpace * 100000);//实例化Timer类,
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
}
public void theout(object source, System.Timers.ElapsedEventArgs e)
{
if (Flag == true)
{
//this.landing.Text = "开始!";
Execute();
this.landing.Text = "结束!";
}
}
这是个定时执行Execute()函数的程序.Execute()函数中的内容是采集一个网页,查询数据库中是否有网页上的某些链接.如果有就跳过,没有就插入.大概要查询100-200次之间.查询SQL的时候,SQL的CPU使用率最高达到了70,,怎么能让他更节省CPU??
正常情况下,用项目顺序执行30个语句的时候,CPU占用率应该是多少?? --------------------编程问答-------------------- 无人在线?? --------------------编程问答-------------------- 时间很快的话也无所谓呀 。。
补充:.NET技术 , ASP.NET