Este plan:
Index Scan using Designation_place_name on myTable (cost=0.00..67701.36 rows=22043 width=27) (actual time=0.061..3.796 rows=3376 loops=1)
Index Cond: ((relation)::text = 'Manager'::text)
Filter: (timeOfJoining > '1930-10-10 00:00:00+05:53:20'::timestamp with time zone)
Total runtime: 4.082 ms
(4 rows)
Básicamente significa:
- Uso del índice Designation_place_name
- Encuentre filas que se ajusten a la relación de condición de índice ='Administrador'
- Mantenga solo las filas que coincidan con los criterios de timeOfJoining
Durante el paso 2, se accede a las páginas del disco "al azar", en lugar de secuencialmente, lo que significa que el índice contiene la dirección de las filas coincidentes en el disco y Postgres visita estas direcciones en el orden indicado por el índice. (Esto puede ser costoso, por cierto. A veces, el planificador decidirá que es más barato simplemente leer la tabla completa (escaneo secuencial) o buscar por lotes todas las filas en una página ignorando el orden indicado por el índice (escaneo de índice de mapa de bits).)
Nota:no hay uniones (tabla) en esa consulta. Si hubiera habido uno, habría visto niveles de sangría adicionales. Léalos de mayor a menor sangría.