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 ...
随机推荐
- 安装canal
一.安装前准备 配置Mysql: [mysqld] log-bin=mysql-bin #添加这一行就ok binlog-format=ROW #选择row模式 server_id=1 #配置mysq ...
- 创建正真的Java不可变类
如果需要设计一个不可变类,尤其要注意其引用类型Field,如果其引用类型Field的类是可变的,就必须采取必要的措施来保护该Field所引用的对象不会被修改,这样才能创建真正的不可变类. class ...
- MySQL整理(三)
一.简单单表操作 (1)简单CRUD 插入查询结果 insert into table1(id,name,age) select id,name,age from table2 where id ...
- PATH_INFO, SCRIPT_NAME, REQUEST_URI区别示例
- XDU 1037 倍流畅序列(字符串匹配+贪心)
题目描述 对于一个0,1串s, 从左端开始读取它的0获得序列s0,从右端开始读取它的1获得s1,如果s0与s1同构,则称s为倍流畅序列.例如:011001是一个倍流畅序列, 因为:s0 = 0__00 ...
- Ubuntu离线安装Tensorflow keras
实验室的服务器木有连接外网,无法使用pip进行安装,真正意义上的离线安装需要很多安装依赖包,下载起来很麻烦,而且版本号还不一定对. 另一种方法是利用源代码编译安装,那样也需要安装依赖包,比较麻烦. 经 ...
- Spring-2-A Magic Grid(SPOJ AMR11A)解题报告及测试数据
Magic Grid Time Limit:336MS Memory Limit:0KB 64bit IO Format:%lld & %llu Description Tha ...
- 金融 贷款类 App 审核被拒 4.3 1.2 2.1 4.2.2 问题总结
辛辛苦苦搞了一两个月,开发测试修bug,一路艰辛,到了审核这最后一关,各位同仁,咬紧牙关!接下来是鄙人遇到过的被拒问题,望能帮到诸君! ******************************** ...
- python将一些朋友的姓名存储在一个列表中,访问该列表中的每个元素,从而将每个朋友的姓名都打印出来
""" 3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为 names . 依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. "&quo ...
- Django学习笔记之Django ORM相关操作
一般操作 详细请参考官方文档 必知必会13条 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> ...