0

異なるテーブルにまたがるmysqlでクロステーブル結合を行うことは可能ですか?さまざまなデータベースで。

これはMSSQLで簡単に可能であるように思われ、データ転送を大幅に高速化しますか?

mysqlはどうですか、これを実現するために強力なIDEを使用する必要がありますか?または、このようなことを行うためのプログラムを作成する必要がありますか?

UPDATE tblUser SET tblUser.ReceiveInfo = old_database.dbo.contact.third_party_info_yn FROM tblUser inner join old_database.dbo.contact ON old_database.dbo.contact.id = tblUser.oldid

4

3 に答える 3

3

確かに、とても簡単です。あなたが示すように、テーブル名の前にデータベース名を付けます。クロスデータベースの結合を定期的に行っています。例えば:

SELECT COUNT(*) FROM newusers1.users JOIN newusers2.users

ただし、同じデータベースに両方のテーブルを配置する場合と比較して、データ転送が高速化されることはありません。

テーブルが異なるデータベース サーバーにある場合、答えはノーです。この例は、データベースが大きすぎて、テーブルを分割する必要がある場合です。物事は少し面倒になります。しかし、あなたが MS SQL ソリューションに満足しているように見えることを考えると、それはここでは当てはまらないようです。

于 2008-11-19T00:00:01.990 に答える
1

MySQL ではクロス DB 結合を行うことができ、さらに FEDERATED エンジンを介してクロス サーバー結合を行うこともできます。

于 2008-11-19T00:35:22.590 に答える
0

MySQLは、テーブルが同じ「データベース」にあるかどうかを実際には気にしません。これは、便利な管理や権限などのためのテーブルの論理的なコレクションにすぎません。

したがって、同じものにあるかのように簡単にそれらの間で結合を行うことができます(ChrisInEdmontonの回答を参照)

于 2008-11-19T07:22:12.220 に答える