Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Pregunta sobre índices utilizando IN en el where condition

Estas en el tema de Pregunta sobre índices utilizando IN en el where condition en el foro de Bases de Datos General en Foros del Web. Antes de hacer la pregunta voy a crear el escenario. Tengo una tabla la cual posee un índice de 4 campos. Tengo un select con ...
  #1 (permalink)  
Antiguo 29/01/2005, 08:05
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Pregunta Pregunta sobre índices utilizando IN en el where condition

Antes de hacer la pregunta voy a crear el escenario.

Tengo una tabla la cual posee un índice de 4 campos.

Tengo un select con un where condition de esta forma.
Cita:
Where Campo1 = 'aaa' and Campo2 IN ('bbb','abc') and Campo3 = 'ccc' and Campo4 = 'ddd'
Tengo entendido que si utilizo un IN en el primer o el segundo campo del índice la base de datos utilizará el índice para pa búsqueda, pero si uso el IN del tercer campo en adelante, asi:

Cita:
Where Campo1 = 'aaa' and Campo2 = 'bbb' and Campo3 IN ('ccc','abc') and Campo4 = 'ddd'
ó
Where Campo1 = 'aaa' and Campo2 = 'bbb' and Campo3 = 'ccc' and Campo4 IN ('ddd','abc')
Primera pregunta:
La base de datos hará una búsqueda secuencial en toda la base de datos, Por qué?

Segunda pregunta:
Tengo entendido que cuando se deba utilizar el IN del tercer campo en adelante, es mejor utiliza OR, asi: (Campo3 = 'ccc' or Campo3 = 'abc'). Por qué?

Tercera pregunta:
Cómo maneja la base de datos las búsquedas con el IN?

Cuarta pregunta:
Es cierto que esto solo sucede en ORACLE?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--

Última edición por RsOfT; 29/01/2005 a las 08:34
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.