2013-05-02 SQL语句远程调用(remote)引发的性能问题
来源:互联网 发布:张佳乐军装淘宝 编辑:程序博客网 时间:2024/06/16 16:36
今天抓到一条SQL语句执行了近6个小时。
分析了下执行计划,问题出在远程调用主数据上,由于执行计划是在本地生成,无法获取远程表的统计信息,所以无法生成准确的执行计划,执行计划中用的是nested loops相当于是两个for循环,在这么大的数据量的情况下很不适用(见附录)。还有一个原因是数据库把远程表的数据取过来也很耗时。
数据规模:
select count(1) from GG_INSTALL_TRANSFORMER;--106462
select count(1) from GG_INSTALL_POINT;--4300278
select count(1) from GG_CONTRACT;--3349652
select count(1) from GG_USER;--3360398
select count(1) from GG_INSTALL_POINT;--4300278
select count(1) from GG_CONTRACT;--3349652
select count(1) from GG_USER;--3360398
执行计划:![](http://img.blog.csdn.net/20130508225536642)
解决方案:1. 把主数据的几张表同步到本地数据库中。
2. 分成多个SQL,把调用远程数据库的功能剥离出来,把取数据的功能建立在远程数据库中供本地数据库调用。
- 2013-05-02 SQL语句远程调用(remote)引发的性能问题
- Flex 并行调用Remote Object的性能问题
- Flex 并行调用Remote Object的性能问题
- 远程调用引发的思考
- 调用.NET Serviced Component引发的性能问题及其解决
- 调用.NET Serviced Component引发的性能问题及其解决
- PostgreSQL的SQL语句中的双引号引发的问题
- SQL语句引发的思考
- 找出存在性能问题的sql语句
- sql语句的性能优化问题
- CONCATENATION 引发的性能问题
- 远程脚本调用(Remote Scripting)
- 2013-04-10数据导出引发的性能问题
- 2013-05-23修改数据未提交引发的性能问题
- 一个CLOSE语句引发的问题
- mybatis查询sql:where语句“查询时间字段书写问题”引发的索引失效
- 百万数据引发的性能瓶颈问题
- 自定义函数引发的性能问题
- 深入探讨C++中的引用
- Ubuntu 12.04安装dropbox
- MySQL 中文乱码问题总结
- 告别手写 API文档生成工具推荐
- c++内存分配
- 2013-05-02 SQL语句远程调用(remote)引发的性能问题
- [Django1.5]two-scoops-django-best-practices 笔记二
- 通过日志监控并收集 Java 应用程序性能数据
- C#中的委托和事件
- 基于 JUnit 的全局单元测试程序
- 怎么让C#的label的文字左右移动
- TOJ 10006 Josephus Problem
- 封送处理字符串
- Java 性能优化之 String 篇