SQL Server 2008 - Performances croisées de la base de données sur la même machine physique et la même instance de serveur

12

Y a-t-il un impact sur les performances lors d'une sélection sur une autre base de données sur la même machine physique? J'ai donc 2 bases de données sur la même machine physique fonctionnant dans la même instance SQL 2008.

Par exemple, dans SomStoreProc on_this_db, j'exécute SELECT someFields FROM the_other_db.dbo.someTable

Si loin de ce que j'ai lu sur Internet, la plupart des gens semblent indiquer NON.

user547
la source

Réponses:

13

Vous ne devriez pas voir la dégradation des performances lorsque vous interrogez des bases de données sur la même instance. Le même analyseur de requêtes, tampons, etc. sont utilisés.

Maintenant, si vous tentiez la même chose sur des instances SQL distinctes sur le même serveur, vous pourriez voir un impact sur les performances. La requête devrait être analysée par deux analyseurs de requêtes distincts et davantage de ressources système seraient utilisées pour les caches, les tampons, etc. Vous forceriez également les résultats à passer par le protocole VIA (en supposant qu'il soit activé) entre les instances. MS DTC pourrait être impliqué, et si les autorisations sont inadéquates sur l'une des instances, un (mauvais) plan de requête peut être créé.

AndrewSQL
la source
4

le Profiler + plan d'exécution + statistiques IO / Cpu sont votre meilleur ami pour vérifier cela. Copiez votre table dans la première base de données et comparez la durée et les autres statistiques avec celles trouvées lorsque vous avez la table dans la seconde base de données. Vous verrez s'il y a des pénalités.

Personnellement, je n'ai pas vu de performances visibles lors de la lecture des données des tables d'autres bases de données sur le même serveur.

Marian
la source
lol ils optimisent enfin les requêtes!
user547