我们有一个.net winforms应用程序通过.net Web服务访问SQL Server 2008数据库.有时我们的应用程序行为非常慢,但在重新启动SQL Server服务后,应用程序的执行速度会快得多.
我们确实有自动预定作业,每晚运行以使用以下命令清除缓冲区和过程缓存.
DBCC FREEPROCCACHE,
DBCC DROPCLEANBUFFERS
Run Code Online (Sandbox Code Playgroud)
任何人都可以确认运行上面的命令实际上可以减慢查询性能,我们应该摆脱它吗?
SQL Server重新启动后,为什么应用程序运行速度相对较快?
谢谢您的帮助.
编辑:我们在这里看几个线程,发现临时表可能是这里的问题.当sql server在重新启动时摆脱所有临时表,因此行为更快.临时表究竟是什么?我们在查询中的许多地方选择#tables.这些临时表是否可以在程序本身中执行某些操作,以便在不需要时删除临时表.
谢谢.