是这样的,我通过sqlserver2008的linked server往同一局域网内的另一台server上插入100万的数据,居然用了30分钟,而如果不通过linked server直接插入本地库,只用了1分钟如果是linked server性能不好的问题,我又做了另外一个试验,就是通过linked server查询另一server的刚刚花30分钟插入的这100万条数据,性能和直接查询本地的100万一样,都是28秒,这就说明Linked server 查询没问题啊
select * from 100万表这到底是为什么啊,是不是Linked server在insert,update,delete数据的时候,就会产生什么事务,锁之类的把性能搞的很差很?在线等,每5分钟刷新,看看有人回答没
select * from 100万表这到底是为什么啊,是不是Linked server在insert,update,delete数据的时候,就会产生什么事务,锁之类的把性能搞的很差很?在线等,每5分钟刷新,看看有人回答没
有人提出使用service broker和触发器结合的办法,service broker不会用,不知道是否能解决性能问题。。求高人
1.查询语句优化:insert into 表() values()貌似没什么好优化的了
2。网络因素:2台美国局域网服务器128G,24核的
3。目标表索引:我新建了一张没任何约束索引的临时表,把100万数据插入,原来要30分钟,现在只要28-29分钟,貌似没效果关键的问题,用link server查询select * from 表,和直接在本地查询这张表,速度都是一样的,约28秒就全查出来了
28秒的大部分时间用于显示这100万数据,差别不大不能说明查询性能没有差别
用以下语句比较可能科学些select * INTO #T from 100万表
1。查询时候select * from linkServer.百万表,28秒搞定
2。truncate linkServer.百万表,再 insert into linkServer.百万表 select * from 本地100万表,30分钟才完.
如果是本地100万表插入相同的表,只要1分钟。
http://sqlblog.com/blogs/linchi_shea/archive/2010/12/01/linked-server-and-performance-impact-direction-matters.aspx在linked server上pull可以,换local server push就很慢了,貌似是一条条insert
登录到Destination,链接Source。select * into Destination from linkedSource 灰常快~~