Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/08/2012, 19:23
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: distinct... y index de tabla

Cita:
Iniciado por xf_corp Ver Mensaje
Te preguntaba cual era el query porque independientemente de si usaras DISTINCT en el SELECT, si efectuas las búsqueda y las columnas que aparecen en el SELECT estan indexadas, podrías devolver los valores directamente del index, sin necesidad del ACCESS FULL de la tabla aunque no estuviesen indexados los campos de búsqueda.
Esto no es realmente así, los valores del select nunca se leen del índice cuando el where se resuelve desde la tabla, por ejemplo:

Código:
create table t1 (id numeric(8), nombre varchar2(10));
create index idx_t1_id on t1(id);

select id from t1 where id = 1;
--utiliza el índice para el where y el select

select nombre from t1 where id = 1;
--utiliza el índice para el where y la tabla para el select

select id from t1 where nombre = 'pepe';
--utiliza la tabla para el where y el select, nunca el índice

select distinct nombre from t1 where id = 1;
--utiliza el índice para el where y la tabla para el select

select distinct id from t1 where id = 1;
--utiliza el índice para el where y el select
Saludos