2009/8/27 Sebastian Machuca <serr...@gmail.com>: > > Para que me sirve el indice entonces.
para optimizar consultas en que debas leer solo una pequena fraccion de los registros... pero ojo como te he repetido ya dos veces antes no estas leyendo solo 2 registros, necesitas leerlos todos para verificar que no hayan mas valores distintos en la tabla... y una vez con esos valores debe verificar en la tabla que los registros que escogio aun sean validos (que no hayan sido borrados por una transaccion concurrente que haya hecho commit) > Probablemente tengo mal el concepto de > indice, porque yo tenia entendido que si tengo el asunto indexado, y hago > una consulta sobre solo una columna que efectivamente esta indexada, yo > asumí que el distinct, o el group by debería ejecutarse sobre el indice y > después arrojar los resultados obtenidos y eso hace, solo que por cada registro debe verificar la validez del registro en la tabla... en otras palabras, usar el indice te asegura que vas a leer los datos dos veces... > y en ese caso, desde lo que yo > pensaba, como el indice solo tiene 2 valores distintos, debería ser muy > rápido. > igual debe leer los 385000 registros en el indice... >> >> tengo la sospecha de que tanto work_mem te hace mas dano que bien... >> que pasa si ejecutas "set enable_indexscan to off;" antes de la >> consulta? > > Por que tanto work_mem puede hacer dano?? probablemente en este caso no, despues de todo no parece que esta consulta este haciendo nada que requiera de work_mem. probaste con "SET enable_indexscan TO OFF;" como te dije? la idea de apagar el indexscan es que trate de hacer una lectura secuencial en toda la tabla (que igual estas leyendo toda la tabla usando el indexscan) quiza eso fuerze (al hacer la version de la consulta con GROUP BY a usar una hash en memoria, igual tienes un work_mem bien alto) -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 5: �Has le�do nuestro extenso FAQ? http://www.postgresql.org/docs/faqs.FAQ.html