第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果我在 Java 中查詢,如何合并來自 mssql 數(shù)據(jù)庫和 mysql 數(shù)據(jù)庫的數(shù)據(jù)?

如果我在 Java 中查詢,如何合并來自 mssql 數(shù)據(jù)庫和 mysql 數(shù)據(jù)庫的數(shù)據(jù)?

波斯汪 2023-03-09 16:56:36
我正在嘗試對存儲在兩個獨立數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行一些分析,其中一個是 mysql 服務(wù)器,另一個是 mssql。它們需要基于其中一列進(jìn)行連接,以便我最終得到一個數(shù)據(jù)結(jié)構(gòu)。我試圖將數(shù)據(jù)分別存儲到 python 中的 pandas 數(shù)據(jù)幀中,將它們加入到 pandas 中,然后寫入 csv 并將其加載回 java。但這做起來非常麻煩,而且可擴展性不強。本質(zhì)上,我有兩個這樣的查詢:MySQLString myDriver = "org.gjt.mm.mysql.Driver";String myUrl = "jdbc:mysql://localhost/test";Class.forName(myDriver);Connection conn = DriverManager.getConnection(myUrl, "root", "");String query = "SELECT * FROM users";Statement st = conn.createStatement();ResultSet rs = st.executeQuery(query);微軟數(shù)據(jù)庫String url = "jdbc:msql://someMSsqlserver/";Connection conn = DriverManager.getConnection(url,"","");Statement stmt = conn.createStatement();ResultSet rs;rs = stmt.executeQuery("SELECT * FROM people");我想讓它們連接成一個數(shù)據(jù)結(jié)構(gòu)。無論如何,這可以在 Java 中本地完成嗎?
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗 獲得超4個贊

您可以嘗試的各種策略:

  1. 使用您的 Java 程序在服務(wù)器 A 上創(chuàng)建一個臨時表,然后從服務(wù)器 B 復(fù)制您需要的數(shù)據(jù)(在服務(wù)器 B 上使用 SELECT,在服務(wù)器 A 上使用 INSERT)。然后在服務(wù)器 A 上執(zhí)行適當(dāng)?shù)牟樵儯詫⒃摲?wù)器上已有的表與臨時表連接起來。您可能有權(quán)在任一服務(wù)器上創(chuàng)建臨時表。

  2. 如果您有權(quán)創(chuàng)建永久表,請在服務(wù)器 A 上使用永久表。然后,每當(dāng)用一個 Java 程序更改數(shù)據(jù)時,將數(shù)據(jù)從服務(wù)器 B 復(fù)制到服務(wù)器 A,并用另一個 Java 程序查詢它。

  3. 將兩個表中較小表中的數(shù)據(jù)插入 Java 程序中的 HashMap,其中 HashMap 的鍵是連接變量。然后逐行處理較大表中的結(jié)果集,在 HashMap 中查找連接的條目。

  4. 切換到 MariaDB 并使用 CONNECT 存儲引擎使您的 SQL Server 表可用于 MySQL 查詢。

你如何選擇策略?這取決于很多事情。你能從你的DBA krewe那里得到多少合作?你的桌子有多大?你總是處理所有的行,或者有時是一個子集?(您的示例查詢沒有WHERE子句,所以您可能正在處理所有內(nèi)容。)您能否在 JVM 實例中獲得足夠的 RAM 來容納整個表?您需要每小時執(zhí)行多次還是每周執(zhí)行一次?每次可以花多少時間?

專業(yè)提示:對于像您的示例這樣的查詢,首先(在兩種服務(wù)器上)給出 SQL 命令,SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;這樣您就不會在檢索結(jié)果集時阻止其他程序訪問您的表。


查看完整回答
反對 回復(fù) 2023-03-09
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊

您應(yīng)該將結(jié)果映射到 POJO Arraylist,然后合并它們。

你也可以將它們放在第三個數(shù)據(jù)庫中,然后你就可以進(jìn)行任何sql查詢。


查看完整回答
反對 回復(fù) 2023-03-09
  • 2 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號