sql >> Database >  >> RDS >> Sqlserver

Prestaties van gekoppelde SQL Server-server

In vergelijking met wat? Voor welke vragen? het hangt er natuurlijk van af op wat je doet. Voor sommige vragen zal de prestatiehit verwaarloosbaar zijn voor andere enorm.

Er zijn een aantal punten waar u rekening mee moet houden:

  • Als je 2 tafels van DB1 wilt samenvoegen met 2 tafels van DB2, en de tafels zijn groot, kunnen dingen lelijk worden. Aan het eind van de dag worden de query's ergens uitgevoerd. De db zal alle resultaten naar de hoofddatabase moeten halen en de transactie-integriteit op de hoofddatabase moeten handhaven. Dit kan erg duur zijn.
  • Als je gedistribueerde transacties begint uit te voeren, kunnen dingen lelijk worden , snel.
  • Als je dingen op verschillende servers samenvoegt, kunnen je indexen op de externe server onbruikbaar worden. De gegevens moeten allemaal ergens naartoe worden verplaatst voor de joins.
  • Links naar gekoppelde servers kunnen op onverwachte momenten uitvallen en leiden tot moeilijk te diagnosticeren bugs.

In het verleden heb ik situaties gevonden waarin het een paar ordes van grootte sneller was om de externe gegevens lokaal te verplaatsen en te indexeren voordat ze erin werden opgenomen.



  1. Hoe een geheel getal naar een decimaal te converteren in SQL Server

  2. MySQL produceert kolommen met lus in een select-statement

  3. Rijen naar door komma's gescheiden waarden met XML-tag

  4. MySQL, samenvoegen equivalent voor lege waarden?