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.

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).


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.


jaja, finalmente están optimizando las consultas!
user547
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.