2005express的查询性能为什么会随Management启动而改变? 我用jdbc连接数据库进行相同的查询在使用Management执行任何查询前后速度相差将近10倍我的sql包含row_number()over(),貌似不包含此子句的sql不存在上述问题,请问为何? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没人能回答么?缓存问题的话应该不会随SSMS的关闭而关闭吧?为什么我关掉它速度又变慢了呢?ps:我的ssms是2008的,而且这个问题在2008上面没有出现过,05的另一个数据量较小的库也没有此问题 你用osql来执行会有差异吗?那个不受ssms的影响,可以用来测试你的想法 无论ssms是否开启osql执行结果:时钟时间(毫秒): 总计值 13 平均值 13 (每秒 76.92 个事务)执行了几次,最慢17,最快11当ssms开启时:ssms客户端运行计划显示2-4毫秒jdbc执行结果在2-4毫秒,这个结果是在ssms开启后执行过一条语句后当ssms未开启时:jdbc致信结果在80毫秒以上,这个结果是关闭ssms后立刻执行即出现 执行了:DBCC FREEPROCCACHE之后试试。如果还是那样的话,就不是缓存问题了 在DBCC FREEPROCCACHE执行前后没有变化但我将我的操作分解后发现只有在打开一个选定数据库为我要查询的数据库时速度就会变快,例如:打开ssms后只新建一个数据库引擎查询窗口,默认选定master库,至此jdbc查询速度都很慢,当选则我要查的数据库后jdbc查询速度立刻变快了,再选择master则又变慢了。至此似乎找到问题了,我原来的sql语句所有字段都写成[db].[owner].[object].[column],所以一般不用use db,根据以上现象,我把语句改为use db select column from object后查询速度恢复正常08上没有这个问题,难道05必须先选定数据库才可以使用查询缓存? 一般建议如果可以,最好还是写成[db].[owner].[object].[column],这样更快定位 可我的问题正是因为写成这样才造成查询速度变慢....use db select column from object这样反而很快,这是为什么呢? use的话已经把会话限定在那个库里面了,如果你的程序只在一个库执行,那把库名去掉,用use的确好一点。但是我也没想出来为什么一个小小的改动会有那么大的差别 可更新事务订阅的问题 如何用命令行方式配置SQL SERVER开启TCP/IP? 视图 糊涂了 可以用PC代替数据库服务器么? 大家看看这个SQL语句该如何写? 招聘SQL SERVER DBA 求一个SQL语句:如何取得最大的数据? 在线等,急急急……关于概率的问题! sqlserver2005 求助:SQLSERVER暂时连不上,一会又能连上。 分页技术 SQL 存储过程的问题?求助各位高手帮忙 【sql server 2000下的】问几个SQL语句
ps:我的ssms是2008的,而且这个问题在2008上面没有出现过,05的另一个数据量较小的库也没有此问题
执行了几次,最慢17,最快11当ssms开启时:
ssms客户端运行计划显示2-4毫秒
jdbc执行结果在2-4毫秒,这个结果是在ssms开启后执行过一条语句后当ssms未开启时:
jdbc致信结果在80毫秒以上,这个结果是关闭ssms后立刻执行即出现
之后试试。如果还是那样的话,就不是缓存问题了
但我将我的操作分解后发现只有在打开一个选定数据库为我要查询的数据库时速度就会变快,例如:打开ssms后只新建一个数据库引擎查询窗口,默认选定master库,至此jdbc查询速度都很慢,当选则我要查的数据库后jdbc查询速度立刻变快了,再选择master则又变慢了。
至此似乎找到问题了,我原来的sql语句所有字段都写成[db].[owner].[object].[column],所以一般不用use db,根据以上现象,我把语句改为use db select column from object后查询速度恢复正常
08上没有这个问题,难道05必须先选定数据库才可以使用查询缓存?