Oracle - ¿Como utilizar los indices?

 
Vista:

¿Como utilizar los indices?

Publicado por Fabián (8 intervenciones) el 04/06/2002 10:02:45
Hola expertos,
Tengo 2 tablas de 20.000 registros cada una y quiero hacer la siguiente consulta:

SELECT ID FROM TB_USUARIOS WHERE ID NOT IN (SELECT ID FROM TB_USER2002)

Pero esta consulta tarda muucho tiempo en ejecutarse (casi 10minutos). me han dicho que añada indices a las tablas, pero ya lo he hecho y aun asi sigue tardando mucho.
La pregunta es: ¿Como debo utilizar los indices?

Gracias por vuestra Ayuda.
Fabián.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Como utilizar los indices?

Publicado por DACH (258 intervenciones) el 04/06/2002 16:52:48
Hola de partida el in y not in degradan el rendiemiento de la consulta, te sugiero en base a los indices que has definido realizar un plan de ejecución de la consulta, este te entregará las consultas de más que estas haciendo tu debes ver como solucionarlo.
Te sugiero utilizar operadores como MINUS INTERSECT estos pueden agilizar tu consulta.-

Salu2.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Como utilizar los indices?

Publicado por Fabián (8 intervenciones) el 04/06/2002 17:10:36
Muchas gracias por tu ayuda, fue de gran utilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Como utilizar los indices?

Publicado por Fabián (8 intervenciones) el 04/06/2002 17:27:27
Para conocimiento publico:
la sentencia resultante que se debe implementar usando el operador MINUS:

SELECT ID FROM TB_USER2002 MINUS SELECT ID FROM TB_USUARIOS

Gracias a DACH por su ayuda!!!

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Como utilizar los indices?

Publicado por Ken (115 intervenciones) el 05/06/2002 04:25:44
Obviamente es mas rapido porque no utiliza indices y realiza un FTS
Asi que poniendo indices para esa consulta esta de mas.

Saludos
Ken Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar