Diciamo che ho due database separati, X e Y, sullo stesso server fisico.PHP Mysql si collega ai database
Tutte le mie domande attualmente a corto di X.
Trovo che ho una tabella in Y vorrei essere a disposizione di X per i join.
Quindi ... ora tengo una copia del tavolo di cui ho bisogno sia per X che per Y sia in X che in Y, ma i dati in Y cambiano continuamente, quindi la copia diventa presto obsoleta. Non critico per questa applicazione, ma per un altro che sto progettando ora questo non funzionerà.
X in questo momento ha bisogno solo accesso in lettura alla tabella in Y.
C'è un modo efficace per fare unisce attraverso i due database?
Preferirei una soluzione mysql invece di aprire più connessioni database in php.
Grazie.
EDIT: Quindi, cosa ne sarà di queste linee ?:
$conn = mysql_connect('localhost','username','password');
@mysql_select_db('database_name',$conn)
E sì .. questa è una vecchia applicazione, da qui il mysql invece di mysqli. Supponiamo che potrei convertirlo.
EDIT2: Allora, dove non specifico database_name.table_name
e basta specificare table_name
ottengo ciò che è stato selezionato, e dove io specificare database.table_name
ottengo quello che ho chiesto .. giusto? Sì. Lavori.
EDIT3: C'è un notevole calo di prestazioni mediante join di database incrociati rispetto a join nello stesso database? No. Sembra altrettanto veloce.
Grazie a tutti per le vostre risposte.
quelle righe rimangono invariate. devi ancora usare mysql_select_db() perché mysql richiede un db/schema attivo prima di poter eseguire query. – longneck
mysql_select_db() in realtà non è richiesto. Imposta solo il db predefinito attivo e puoi farne a meno, se specifichi 'db.table' – Jakub