Buenas Días
Ante todo les quiero pedir disculpas por si ofendo a alaguen con la pregunta.
Estoy haciendo mis primeros pasos en la optimización de las consultas. En este caso cuento con dos tablas sin indices para ver que arquitectura de la consulta resulta ser mas eficiente sin que la afecte uso de Indices.
Cuento con dos tablas T1 (CODIGO,NOMBRE,DIRECCION,BARRIO) - 1.000.000 registros y T2 (CODIGO, NOMBARRIO) con 50 regitros.
Tengo entendido que la mejor manera de hacer una query es en From poner la tabla con menor cantidad de registros (por el tema de la c) y en Inner join la mas grande, arme 4 versiones de misma consulta para ver cual de todas resulta ser mas eficiente en lo que es el tiempo de CPU, Logics Reads y Elapsed Time pero los resultados obtendos me dieron lo contrario, los mejores resultados obtuve en la query cual en From tenia la tabla mas grande.
Sabrían decirme porque ocurrió esto.
Aca les paso las consultas y sus resultados
Desde ya muchas Gracias
C.P.U. = 358 LOGIC READS T1 = 10.286 ELAPSED TIME = 1.032
Código SQL:
Ver originalSELECT
T1.NOMBRE,
T1.DIRECCION,
T2.NOMBARRIO
FROM T1
INNER JOIN T2 ON T1.BARRIO = T2.CODIGO
WHERE T1.BARRIO = '001'
C.P.U. = 250 LOGIC READS T1 = 10.286 ELAPSED TIME = 883 *
Código SQL:
Ver originalSELECT
T1.NOMBRE,
T1.DIRECCION,
T2.NOMBARRIO
FROM T1
INNER JOIN T2 ON T1.BARRIO = T2.CODIGO
WHERE T2.CODIGO = '001'
C.P.U. = 374 LOGIC READS T1 = 10.286 ELAPSED TIME = 1.028
Código SQL:
Ver originalSELECT
T1.NOMBRE,
T1.DIRECCION,
T2.NOMBARRIO
FROM T2
INNER JOIN T1 ON T1.BARRIO = T2.CODIGO
WHERE T1.BARRIO = '001'
C.P.U. = 327 LOGIC READS T1 = 10.286 ELAPSED TIME = 1.018
Código SQL:
Ver originalSELECT
T1.NOMBRE,
T1.DIRECCION,
T2.NOMBARRIO
FROM T2
INNER JOIN T1 ON T1.BARRIO = T2.CODIGO
WHERE T2.CODIGO = '001'