Ver Mensaje Individual
  #1  
Antiguo 04-11-2023
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
¿Por qué no usa el índice?

Tengo este query que ejecuto en FB 2.5.6:
Código SQL [-]
SELECT A.Codigo, A.Nombre, RDB$GET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO') Municipio,
       RDB$SET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO', 
                                     (SELECT DISTINCT Municipio FROM Mesas WHERE CodPrv = B.CodPrv AND Codigo = B.Mesa))
  FROM Partidos A, Resultados B, Poblacion C
 WHERE A.CodPrv = :PrvIns AND A.Codigo > 0
   AND A.CodPrv = B.CodPrv AND A.Codigo = B.Partido AND B.Proceso = :Proceso
y las estadísticas que me da IBManager me han dejado perplejo:

Las tablas implicadas en ese RDB$SET_CONTEXT están indexadas por CodPrv y Municpio (tabla Mesas) y CodPrv y Codigo como índice primario de la tabla Poblacion; ¿cómo es posible que no use ningún índice para realizar ese SELECT?
Responder Con Cita