mysql 跨库查询问题
MySQL实现跨服务器查询
https://blog.csdn.net/LYK_for_dba/article/details/78180444
mysql> create database lianxi;
mysql> use lianxi
mysql> CREATE TABLE tab_test_fed (
id int(20) NOT NULL auto_increment,
name varchar(32) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=FEDERATED connection = 'mysql://root:123@192.168.41.197:3306/db_fed/tab_test';
一个跨库复杂查询的SQL优化的案例
https://blog.csdn.net/waste_land_wolf/article/details/76419207
SQL优化思路
想要优化一个SQL,一般来说就是先看执行计划,观察是否尽可能用到索引,
同时要关注预计扫描的行数,以及是否产生了临时表(Using temporary)
或者 是否需要进行排序(Using filesort),想办法消除这些情况。
更进一步的优化策略则可能需要调整程序代码逻辑,甚至技术架构或者业务需求,
这个动作比较大,一般非核心系统上的核心问题,不会这么大动干戈,绝大多数情况,
还是需要靠DBA尽可能发挥聪明才智来解决。
优化思考
首先观察这个查询SQL语句,貌似复杂,其实有规律可寻。我们分成三部分来看,即select部分,from部分和查询条件部分。
其中比较复杂的是select部分,很多字段是通过子查询,计算和联合获得的。
其次通过分步测试,发现加上“已出库成本outbound_cost”和“实际出库数量outbound_quantity”这两个字段查询比较慢,
再对这两个字段的子查询分析,如果去年其中的查询条件cn=a.cn,查询速度可以大大提高。但是这样查出来的数据经过
计算是错误的。据此我怀疑是不是因为a的定义是在子查询外面两层,导致查询速度降低。于是我决定将这两个字段的子查询语句
做成两个view,再从这两个view里查询。这样,子查询就不用到外层去查询a表和a表的cn字段去对比,数据也不会出错。
改完这块之后,查询速度果然提高了近10倍,查询耗时缩短为39秒左右。但是这离客户要求的3-4秒还很远。
按照老叶(mySQL培训机构知数堂的创始人,国内著名mySQL专家)的提示,查看了下执行计划,发现所有表中都没有建索引。按照老叶的指导,建立了一堆单一和联合索引。再试,2.9秒!速度差不多又提高了15倍。
MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
https://www.cnblogs.com/austinspark-jessylu/p/7117640.html
两不同服务器上的mysql跨库查询
https://blog.csdn.net/qq_26517369/article/details/53337100
mysql 跨库查询问题的更多相关文章
- MySQL跨库查询例子
库1 gxjob 库2 funshixi SELECT a.`company_id`,b.`companyname` FROM `gxjob`.`qj_activity_thousands_of_sc ...
- springboot整合mybatis进行跨库查询
业务场景: 当一个公司大了之后就会将各种业务进行分开,最简单的就是例如:公司的机构表,那么就会将他们分成开来,那么就会在一个实例中, 如果要获取相关信息就会去关联这张表进行关联查询 从而导致了跨库关联 ...
- 如何使用SQL SERVER数据库跨库查询
SQL Server中内置了数据库跨库查询功能,下面简要介绍一下SQL Server跨库查询.首先打开数据源码:OPENDATASOURCE不使用链接的服务器名,而提供特殊的连接信息,并将其作为四部分 ...
- SqlServer跨库查询
由于业务的拆分,数据库拆分为两种作用: 汇总数据库(Master,头节点数据库), 子节点数据库(Compute Node,计算子节点数据库) 这样,就设计到子节点访问头节点数据库中的某张汇总表,这种 ...
- ACCESS-如何多数据库查询(跨库查询)
测试通过:ACCESSselect * from F:\MYk.mdb.tablename说明:1.查询语句2.来原于哪(没有密码是个路径)3.查询的表名 ====================== ...
- Access数据库跨库查询及记录集区分
医疗设备软件一般都是单机软件,如果是Windows平台,常会选择Access数据库存储结构化数据,因为他轻量,便于部署.然而随着医疗信息化的发展,医生希望对多台单机设备的数据进行管理,采用网络数据库当 ...
- EF 跨库查询
原因:最近公司项目,遇到一个ef跨库查询的问题.(只是跨库,并不是跨服务器哈) 主要我们的一些数据,譬如地址,城市需要查询公共资料库. 但是本身我的程序设计采用的是ef框架的.因此为这事花费了1天时间 ...
- SQL Server 跨库查询
1. 开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: reconfigure reconfigure 2. 跨库查询操作 select * from ...
- 跨库查询(OpenDataSource)与链接服务器(Linking Server)
一:跨库查询 Openrowset/opendatasource() is an ad-hoc method to access remote server's data. So, if you on ...
随机推荐
- https://zh.cppreference.com 和 https://en.cppreference.com 和 https://cppcon.org/
https://zh.cppreference.comhttps://en.cppreference.com/w/ https://cppcon.org/
- 前端 html border-right: 1px solid red;
后边框 加粗 实体线 红色 border-right: 1px solid red;
- 1.如何在虚拟机ubuntu上安装hadoop多节点分布式集群
要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,可以将hadoop简化地想象成一个小软件,通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个had ...
- web.xml中的元素
error-page元素包含三个子元素error-code,exception-type和location.将错误代码(Error Code)或异常(Exception)的种类对应到web应用资源路径 ...
- Linux服务器上监控网络带宽命令
本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...
- selenium 代理 Cookies 截图 等待 调用JS
改变用户代理 读取Cookies 调用Java Script Webdriver截图 页面等待 1. 改变用户代理 import org.junit.AfterClass; import org.ju ...
- By.Xpath快速定位页面元素常用方法
先看一看xpath的语法 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1" ...
- WebUploader 上传插件结合bootstrap的模态框使用时选择上传文件按钮无效问题的解决方法
由于种种原因(工作忙,要锻炼健身,要看书,要学习其他兴趣爱好,谈恋爱等),博客已经好久没有更新,为这个内心一直感觉很愧疚,今天开始决定继续更新博客,每周至少一篇,最多不限篇幅. 今天说一下,下午在工作 ...
- 设置eclipse启动时所需要的jdk
eclipse启动时默认的时环境变量中的JDK,但如果环境变量中的jdk版本比较低,那么eclipse是启动不了的, 比如系统中运行的程序中使用的是jdk1.7,但eclipse版本2018需要jdk ...
- JS传参中文乱码问题.NET
前台js代码 window.location.href = "/product.aspx?id=2&title=" +encodeURIComponent(strtitle ...