Tengo 5 tablas con millones de registros en sql server, que me recomiendan hacer un solo query relacionando todas las tablas o hacer tablas temporales con sus propios querys y despues relacionar las tablas temporales con menor registros

lo que quiero es que no me marque time out al hacer querys.
y despues insertar los registros resultantes en una tabla nueva haciendo una comparación.
saludos.