Соединение между таблицами с использованием 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)