首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server 2008查询在生产中速度较慢,但在开发中速度较快

SQL Server 2008查询在生产中速度较慢,但在开发中速度较快
EN

Stack Overflow用户
提问于 2009-04-09 04:37:16
回答 6查看 6.6K关注 0票数 3

我有一个查询,在生产上运行大约2-4分钟,但在开发时运行几秒钟。这两个数据库位于完全相同的服务器上。(没有关于开发和生产的讲座,生产实际上还在开发中)。

我的意思是,我可以只打开两个查询窗口,并得到两个不同的结果一致。我已经运行了RedGate SQLCompare,没有模式差异(索引等)差异。我禁用了连接到数据库的站点,因此除了Management Studio会话之外,不应该有其他连接。

这可能是什么原因造成的?我通过复制生产数据库来创建开发数据库(在Management Studio中,右键单击数据库,然后单击“复制数据库”)

这真的很奇怪。我不想做任何索引更改,因为奇怪的是,复制速度很快,但生产非常非常慢,但本质上应该是完全相同的副本。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-09 04:51:01

我不知道SQLServer的细节,但通常这种情况是由于两个数据库中的表统计数据不同造成的。查看查询计划,看看它们是否不同。运行SQLServer版本的"analyze table“或"analyze schema”命令。

如果这些都不起作用,请检查数据库是如何设置的。有没有可能数据是相同的,但服务器配置不同,例如,生产版本的可用内存阈值要低得多?

还有一些需要检查的东西--这只是我的无知--但是“复制数据库”实际上是复制了数据,还是仅仅复制了对象定义?

票数 7
EN

Stack Overflow用户

发布于 2009-04-09 04:50:15

您没有提供有关DB结构或SQL查询的任何细节,但是如果您确信这两个环境的设置是相同的,那么可能只是因为生产数据库中的大量数据突出显示了一个低效查询。

票数 1
EN

Stack Overflow用户

发布于 2009-04-09 18:07:44

好的,谢谢大家。我认为这个问题与索引碎片有关。我以为复制数据库基本上只是复制了文件。我做了一个DBCC DBREINDEX在每一张桌子上,它现在工作得很好。谢谢大家!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/732815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档