SQL Server 2008: rendimiento de base de datos cruzada en la misma máquina física e instancia de servidor

12

¿Hay algún impacto en el rendimiento al hacer una selección en otra base de datos en la misma máquina física? Entonces tengo 2 bases de datos en la misma máquina física que se ejecutan dentro de la misma instancia de SQL 2008.

Por ejemplo, en SomStoreProc on_this_db ejecuto SELECT someFields FROM the_other_db.dbo.someTable

Tan lejos de lo que he leído en Internet, la mayoría de las personas parecen indicar NO.

usuario547
fuente

Respuestas:

13

No debería ver una degradación del rendimiento al realizar consultas en bases de datos en la misma instancia. Se está utilizando el mismo analizador de consultas, buffers, etc.

Ahora, si intentara lo mismo en distintas instancias de SQL en el mismo servidor, podría ver un impacto en el rendimiento. La consulta tendría que ser analizada por dos analizadores de consulta distintos y se utilizarían más recursos del sistema para cachés, memorias intermedias, etc. También obligaría a los resultados a pasar por el protocolo VIA (suponiendo que esté habilitado) entre las instancias. MS DTC podría estar involucrado, y si los permisos son inadecuados en una de las instancias, se puede crear un plan de consulta deficiente (er).

AndrewSQL
fuente
4

Profiler + plan de ejecución + estadísticas IO / Cpu son su mejor amigo para verificar esto. Copie su tabla en la primera base de datos y compare la duración y las otras estadísticas con las que se encuentran al tener la tabla en la segunda base de datos. Verá si hay alguna penalización.

Personalmente, no vi un impacto visible en el rendimiento al leer datos de tablas de otras bases de datos en el mismo servidor.

Mariana
fuente
jaja, finalmente están optimizando las consultas!
user547