sql >> Base de Datos >  >> RDS >> Sqlserver

SQL se une a las subconsultas de SQL (rendimiento)?

ESPERO que la primera consulta sea más rápida, principalmente porque tiene una equivalencia y un JOIN explícito. En mi experiencia IN es un operador muy lento, ya que SQL normalmente lo evalúa como una serie de WHERE cláusulas separadas por "OR" (WHERE x=Y OR x=Z OR... ).

Sin embargo, al igual que con TODAS LAS COSAS SQL, su kilometraje puede variar. La velocidad dependerá mucho de los índices (¿tienes índices en ambas columnas de ID? Eso ayudará mucho...) entre otras cosas.

La única forma REAL de saber con 100% de certeza cuál es más rápido es activar el seguimiento del rendimiento (las estadísticas de IO son especialmente útiles) y ejecutar ambos. ¡Asegúrate de borrar tu caché entre ejecuciones!