多机的跨库数据库Join查询
来源:互联网 发布:看乐视电视网络直播 编辑:程序博客网 时间:2024/05/21 06:44
多机的跨库数据库Join查询
最近在看《大型网站系统与Java中间件实践》这本书,在看5.1.5.1节的跨库Join 时,书中说明了几种解决思路:
1、在应用层把原来数据库的Join操作分成几次的数据库操作来完成。
2、数据冗余
3、借助外部系统(例如搜索引擎)解决一些跨库的问题。
在网上查询了相关的资料,并没有很好的通过例子来进行说明的方法。
下面这一个可能是比较具体一点的跨机的数据库Join的实例了,摘入如下(来源于这里:http://bbs.csdn.net/topics/320196555;自己并没有验证是否可行):
============漂亮的分割线==============
现有两台MYSQL数据库
一台是192.168.1.1 端口3306 上有数据库DB1 有表TABLE1
一台是192.168.1.2 端口3307 上有数据库DB2 有表TABLE2
192.168.1.1远程连接192.168.1.2数据库所使用的用户名root1 密码root1
192.168.1.2远程连接192.168.1.1数据库所使用的用户名root2 密码root2
现在想对 TABLE1 和 TABLE2 两张表进行关联查询 请问SQL应该怎么实现
没有办法直接进行JOIN查询。
你可以在DB1中建立一个 FEDERATED 指向这个 DB2.table2 如下,然后就象在同一数据库中DB1中操作即可。
CREATE TABLE TABLE2 ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://192.168.1.2:3307/DB2/TABLE2'; //或者是CONNECTION='mysql://root2:root2@192.168.1.2:3307/DB2/TABLE2';这个添加了密码
1 0
- 多机的跨库数据库Join查询
- MSSQLSERVER数据库-多表查询inner join
- INNER JOIN 数据库查询
- mysql数据库join查询
- 实现数据库的跨库join
- Kettle 流查询,数据库查询和Merge Join的区别
- hibernate left join 多表连接查询不到结果,但生成的查询语句在数据库可以查询
- 数据库查询连接(JOIN)用法
- python中字符串.join() 和数据库查询语句的结合
- sql 多表的查询 union join
- 多表联合查询:join的用法
- 数据库多表查询之 where & INNER JOIN
- 数据库多表查询之 where & INNER JOIN
- 数据库多表查询之 where & INNER JOIN
- 数据库多表查询之 where & INNER JOIN
- 数据库多表查询之 where & INNER JOIN
- HQL的join查询
- 多表连接子查询;left join、right join、inner join的区别
- poj 3321 dfs+树状数组
- 硬盘坏了
- 关于Handler消息传递机制的认识
- 模拟i2c实现流程
- mac前端开发环境搭建
- 多机的跨库数据库Join查询
- 勾股定理一日一证连载169
- java中获取当前操作系统的信息
- kinect 2.0:利用深度进行前景分割(c++实现)
- GDAL学习笔记——OGRLayer C++ API
- hiveserver2 CDH5.7.1
- 复杂指针声明
- 我的设计模式-单例(Singleton)
- 测试在discuz后台增加一个只能用admin用户打开的管理页面,仅显示aaa三个字母