Соединение между таблицами с использованием MYSQL, а не MSSQL

Можно ли сделать соединение между таблицами в MySQL, охватывающих разные таблицы? в разных базах данных.

Кажется, это легко возможно в MSSQL и значительно ускоряет передачу данных?

Как насчет mysql, вам нужно использовать мощную IDE для достижения этой цели? или вам нужно написать программу для чего-то подобного?

ОБНОВЛЕНИЕ tblUser SET tblUser.ReceiveInfo=old_database.dbo.contact.third_party_info_yn FROM tblUser внутреннее соединение old_database.dbo.contact ON old_database.dbo.contact.id=tblUser.oldid

3 ответа

Решение

Конечно, очень легко. Префикс имени таблицы с именем базы данных, как вы показываете. Мы делаем кросс-базы данных на регулярной основе. Например:

ВЫБЕРИТЕ COUNT(*) ОТ newusers1.users ПРИСОЕДИНЯЙТЕСЬ к newusers2.users

Это, конечно, не ускорит передачу данных по сравнению с наличием обеих таблиц в одной базе данных.

Теперь, если ваши таблицы находятся на разных серверах баз данных, ответ - нет. Примером этого является то, что ваша база данных слишком велика, и вам нужно огородить таблицы. Вещи становятся немного более грязными. Но, учитывая, что вы, кажется, довольны решением MS SQL, оно здесь не применимо.

В MySQL вы можете выполнять кросс-DB соединения, а с помощью механизма FEDERATED даже кросс-серверные соединения.

MySQL на самом деле не волнует, находятся ли таблицы в одной и той же "базе данных", это просто логическая коллекция таблиц для удобного администрирования, разрешений и т. Д.

Таким образом, вы можете сделать соединение между ними так же легко, как если бы они были в одном (см. Ответ ChrisInEdmonton)

Другие вопросы по тегам