sql >> Database >  >> RDS >> Mysql

Oracle Database Link - MySQL-equivalent?

Ik kan vier mogelijke oplossingen bedenken voor uw scenario:

  1. gebruik volledig gekwalificeerde-tabelnamen bij het zoeken naar de externe tafel. MySQL ondersteunt de dbname.tablename -syntaxis om toegang te krijgen tot tabellen buiten het huidige databasebereik. Dit vereist dat de momenteel verbonden gebruiker de juiste rechten heeft om uit de gevraagde tabel in een andere fysieke database te lezen.
  2. als uw externe database op een andere MySQL-server draait (op dezelfde machine of via een netwerkverbinding), kunt u replicatie gebruiken om constant een alleen-lezen kopie van de externe tabel bij te werken. Replicatie is alleen mogelijk als u twee afzonderlijke MySQL-instanties gebruikt.
  3. gebruik de FEDERATED MySQL-opslagengine virtueel importeren de tabel in uw huidige database. Dit heft de vereiste op om de huidige gebruiker toegangsrechten te geven tot de tweede database, aangezien de inloggegevens worden gegeven met de CREATE TABLE -statement bij gebruik van de FEDERATED opslag motor. Dit werkt ook met de databases die op verschillende fysieke servers of verschillende MySQL-instanties draaien. Ik denk dat dit de slechtst presterende optie zal zijn en heeft wel wat beperkingen - meer of minder belangrijk, afhankelijk van uw gebruiksscenario en uw vereisten.
  4. Dit is een uitbreiding op methode 1. In plaats van de volledig gekwalificeerde-tabelnamen te moeten specificeren telkens wanneer u informatie opvraagt ​​van uw externe tabel, kunt u eenvoudig een weergave maken binnen uw huidige database op basis van een eenvoudige SELECT <<columns>> FROM <<database>>.<<table>> . Dit lijkt op de manier waarop, de FEDERATED -methode werkt, maar is beperkt tot tabellen op dezelfde MySQL-instantie.

Persoonlijk zou ik methode (4) als de meest bruikbare beschouwen, maar de andere kunnen ook mogelijke oplossingen zijn, afhankelijk van uw vereisten.



  1. T-SQL:In tegenstelling tot tekenreeksaaneenschakeling - hoe tekenreeks in meerdere records te splitsen

  2. Ontdek aan welke partitie een bepaalde waarde zou worden toegewezen in SQL Server (T-SQL)

  3. Postgres ontbreekt FROM-clausule invoerfout bij query met WITH-component

  4. Hoe het ROracle-pakket op Windows 7 te installeren?