PHP Mysql объединяет базы данных

Допустим, у меня есть две отдельные базы данных, X и Y, на одном физическом сервере.

Все мои запросы в настоящее время исчерпаны из X.

Я считаю, что у меня одна таблица в YI хотела бы быть доступной для X для JOINS.

Итак … теперь я сохраняю копию одной таблицы, которая мне нужна для X и Y как для X, так и для Y, но данные в Y постоянно меняются, поэтому копия скоро становится устаревшей. Не важно для этого приложения, но для другого, которое я сейчас проектирую, этого просто не будет.

X прямо сейчас требуется только чтение доступа к таблице в Y.

Существует ли эффективный способ объединения между двумя базами данных?

Я предпочел бы решение mysql, а не открывать несколько соединений с базами данных в php.

Спасибо.

РЕДАКТИРОВАТЬ: Итак, что получится из этих строк ?:

$conn = mysql_connect('localhost','username','password'); @mysql_select_db('database_name',$conn) 

И да .. это старое приложение, поэтому mysql вместо mysqli. Предположим, я мог бы преобразовать его.

EDIT2: Поэтому, когда я не указываю database_name.table_name и просто указываю table_name я получаю все, что выбрано, и где я указываю database.table_name Я получаю то, что я просил .. правильно? Ага. Работает.

EDIT3: Есть ли какая-либо значительная производительность, связанная с объединением кросс-баз данных и объединением в одной базе данных? Неа. Выглядит так же быстро.

Спасибо всем за ваши ответы.

Related of "PHP Mysql объединяет базы данных"

РЕДАКТИРОВАТЬ: Итак, что получится из этих строк ?:

$ conn = mysql_connect ('localhost', 'username', 'password'); @mysql_select_db ( 'имя_базы_данных', $ сопп)

Mysql_select_db является необязательным. Поскольку он просто выбирает активный db для использования. http://us3.php.net/manual/en/function.mysql-select-db.php

И да .. это старое приложение, поэтому mysql вместо mysqli. Предположим, я мог бы преобразовать его.

IMHO Я не думаю, что использование MYSQL имеет какое-либо отношение к тому, чтобы быть медленным, из моих собственных исследований в нем, не так много улучшений скорости с MYSQLi и MYSQL. Тесты реального мира не показывают, что это большой драйвер производительности. Я честно придерживался MYSQL для всех моих приложений.

вы должны использовать псевдоним таблицы в другой базе данных:

 select a.id , b.foreign_id from database1.table1 a join database2.table1 b on b.foreign_id = a.id 

Если две базы данных находятся на одном сервере, вы можете просто квалифицировать таблицу с именем базы данных в запросе соединения.

 select * from database1.table1 as t1 inner join database2.table2 as t2 on t2.fk_id = t1.pk_id 

Просто используйте SQL

 SELECT col1, col2 FROM foo f LEFT JOIN db2.bar b ON b.col1 = f.col1