中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL怎么實現跨庫join查詢

發布時間:2023-03-09 09:37:43 來源:億速云 閱讀:116 作者:iii 欄目:開發技術

這篇文章主要介紹了MySQL怎么實現跨庫join查詢的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MySQL怎么實現跨庫join查詢文章都會有所收獲,下面我們一起來看看吧。

    MySQL實現跨庫join查詢

    服務器的不同庫

    只需要在表名前加上db_name

    select
    	*
    from
    	userdb.user u
    join orderdb.`order` o on
    	u.id = o.user_id;

    不同服務器的不同庫

    1.查看配置 FEDERATED

    SHOW engines;

    MySQL怎么實現跨庫join查詢

    如果是NO,需要改為YES.默認是NO

    在my.ini文件中增加一行,重啟MySQL 服務即可

    federated

    2.在本地庫創建相同的表建立連接

    CREATE TABLE `order` (
      `id` bigint NOT NULL AUTO_INCREMENT,
      `user_id` bigint NOT NULL,
      `product_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
      PRIMARY KEY (`id`)
    )  ENGINE =FEDERATED CONNECTION='mysql://root:123456@192.168.10.100:3306/orderdb/order';

    注意:本地創建的表名必須在遠程服務器存在,創建的字段也必須是遠程表中的字段,可以比遠程表的字段少,但是不能多,本地存儲引擎選擇:ENGINE =FEDERATED,

    CONNECTION選項中的連接字符串的一般形式如下:

    scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name

    配置密碼作為純文本的話會存在安全問題,運行show create table,show table status是可以見的

    note:

    • 本地表結構必須與遠程完全一樣

    • 遠程數據庫只能連接MySql;

    • 不支持事務;

    • 不支持表結構的修改

    • 本地表更新,遠程表也同步更新,反之亦然

    • 刪除本地表,遠程表不會刪除

    數據庫跨庫join方案

    最好不要出現跨庫join,應該在設計的時候就避免。

    將需要join的表放在同一數據庫,即便是分庫分表看能不能按相同維度分到一起。

    或者看能不能設冗余字段,避免關聯查詢。

    那如果無法避免跨庫join,也應該走微服務API查詢,或者使用中間件實現。

    比如:

    1.調用兩個服務API分別查詢,再組裝數據;

    2.利用Canal,將數據同步到業務系統數據庫;

    3.將兩個服務的數據實時同步到一個只讀庫,然后在只讀庫查詢;

    一定要跨庫join,MySQL也是可以支持的:

    1.開啟FEDERATED引擎,修改my.ini(或my.cnf)文件新添加一行,內容為federated,然后重啟MySQL。

    2.在數據庫中建立遠程表,通過參數CONNECTION='mysql://username:pwd@ip:端口/庫名/表名

    3.直接在SQL語句使用join即可。

    關于“MySQL怎么實現跨庫join查詢”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MySQL怎么實現跨庫join查詢”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    彰化市| 鹿泉市| 夏河县| 密云县| 葫芦岛市| 芮城县| 商都县| 临城县| 陇西县| 永福县| 依安县| 五家渠市| 靖远县| 营山县| 榆社县| 伊吾县| 漳州市| 金华市| 辉县市| 中西区| 嘉义县| 三河市| 阿拉善右旗| 丘北县| 泸水县| 南充市| 南召县| 梧州市| 武义县| 晋中市| 左贡县| 砚山县| 崇仁县| 永清县| 天祝| 个旧市| 和平县| 新昌县| 安多县| 方山县| 东阿县|