Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2005, 08:05
Avatar de RsOfT
RsOfT
 
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
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