sql server2008发布订阅问题

net_08 2015-07-15 09:50:11
两台配置一样的数据库服务器,一台做了发布,一台做了订阅,主服务器数据修改后很快就同步到从服务器上了,可以做到同步。

但是有一个问题就是,同样的sql语句在发布服务器上执行只要1秒,而在订阅服务器上执行需要6秒。怎么会这样??、数据库的表结构都是一样,包括索引啥的
...全文
151 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2015-07-15
  • 打赏
  • 举报
回复
引用 3 楼 net_08 的回复:
[quote=引用 1 楼 yupeigu 的回复:] 你是怎么看出来同一个sql,在master上要1秒,slave上要6秒的呢? 因为在同步的时候,可以设置的最短的同步时间间隔 是10秒,所以一般在master执行完某个sql后,需要一些时间才能在 订阅端上查询到的。
是在查询分析器执行的,刚发现订阅服务器上的所有表只有主键索引了,其他索引都没有了,所以导致查询比主服务器上慢。为什么订阅后表的索引都没有了?[/quote] 你是怎么做的 订阅,一般是把主库做一个备份,然后在 订阅端 还原了,然后再同步的,这样就保证了 原来的数据库里的各种对象,表、存储过程、触发器、索引都会有的。
LongRui888 2015-07-15
  • 打赏
  • 举报
回复
如果你是手动分别在2台机器上执行sql的,可以看看 2个语句的执行计划,看看是否不一样,哪儿不一致。 如果确实不一致,可以考虑 更新一下相关表的统计信息,然后再试试: update statistics 表名称
net_08 2015-07-15
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
你是怎么看出来同一个sql,在master上要1秒,slave上要6秒的呢? 因为在同步的时候,可以设置的最短的同步时间间隔 是10秒,所以一般在master执行完某个sql后,需要一些时间才能在 订阅端上查询到的。
是在查询分析器执行的,刚发现订阅服务器上的所有表只有主键索引了,其他索引都没有了,所以导致查询比主服务器上慢。为什么订阅后表的索引都没有了?
LongRui888 2015-07-15
  • 打赏
  • 举报
回复
你是怎么看出来同一个sql,在master上要1秒,slave上要6秒的呢? 因为在同步的时候,可以设置的最短的同步时间间隔 是10秒,所以一般在master执行完某个sql后,需要一些时间才能在 订阅端上查询到的。

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧