关于利用分布式分区视图实现联合数据库服务器的问题?

tyxddgs 2011-12-18 10:09:54
经过测试:利用分布式分区视图实现联合数据库服务器后,对于查询560000行数据出来,反而速度比不利用分布式分区视图还慢了很多,差不多多了一半的时间,我发出的命令是查询出这560000行数据出来,这是为什么呢?lazy schema validation也设置为true了;

实验环境是:在同一机器上,装了两个虚拟机,将真实机器设置为客户端,将两台虚拟机设置为服务器端;
将数据源都放在虚拟机里面的,即:都是从虚拟机里面获取数据的;

...全文
1169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
q465897859 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tyxddgs 的回复:]
谈谈对分布式分区视图的理解,不知是否正确:
客户端A,分布式分区视图将数据分布在B C D三台服务器上:
如果A访问B(执行一个查询命令,返回一些原始记录)但是这些原始记录几乎都在D上,那么D上的原始记录还要在B处进行汇总,汇总之后再返回给客户端A,如果是这样一个过程,估计在这种情况里,分布式分区视图会没有优势,可能比不分区还要慢;
如果发出的命令是汇总一些数据(如:SUM AVG等),而且……
[/Quote]分别用分区视图访问D和不用分区试试看时间的差别
勿勿 2011-12-21
  • 打赏
  • 举报
回复
感觉没必要吧
tyxddgs 2011-12-21
  • 打赏
  • 举报
回复
经过两台真实机器进行测试 分布式分区视图,两台机器性能差不多:

将900万的数据分不到两台机器里面去,结果发现执行 select count(*)操作视图并没有起到效果,与不分区,直接在一台机器上执行所化的时间几乎一样,感觉数据库没有执行并行操作,而是一台机器一台机器串行操作的!



难道分布式分区分区视图并不能达到并行查询的效果!
tyxddgs 2011-12-18
  • 打赏
  • 举报
回复
谈谈对分布式分区视图的理解,不知是否正确:
客户端A,分布式分区视图将数据分布在B C D三台服务器上:
如果A访问B(执行一个查询命令,返回一些原始记录)但是这些原始记录几乎都在D上,那么D上的原始记录还要在B处进行汇总,汇总之后再返回给客户端A,如果是这样一个过程,估计在这种情况里,分布式分区视图会没有优势,可能比不分区还要慢;
如果发出的命令是汇总一些数据(如:SUM AVG等),而且几乎涵盖了所有分区,这样的话,每个分区所在的机器都参与运算,但是运算结果的数据量却很小,那么网络传输就几乎不用考虑了,那么这种情况,分布式分区视图就会占有很大优势;

不知,是否可以这样理解?
tyxddgs 2011-12-18
  • 打赏
  • 举报
回复
但也不至于还要慢吧,不用分区视图需要4秒,用了分区视图需要7秒,这也太不可能了吧!
--小F-- 2011-12-18
  • 打赏
  • 举报
回复
560000行数据其实数据量不是很大 在这样的情况下 用分区视图会有更多的I/O消耗。查询效率也不一定会比较高

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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