From: | Carolina Román Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl> |
---|---|
To: | Foro PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Acerca del rendimiento de una consulta |
Date: | 2009-10-28 19:36:52 |
Message-ID: | 1256758612.6928.279.camel@swpx22.sw.ehu.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos
Trabajo con Drupal sobre Postgres y estoy escribiendo un código que
despliega listas de ciertos contenidos. Mis búsquedas son cosas del
tipo
SELECT
area.title, area.brief_description, area.main_picture
FROM node n JOIN area USING (vid)
ORDER BY title;
donde node contiene información acerca de la creación de una página,
mientras que area contiene la información real, el contenido de esa
página.
Para que mi código respete los permisos definidos por el sistema, yo
debo pasar mis búsquedas sql por una función que se llama
db_rewrite_sql, que despedaza mi búsqueda y le agrega cláusulas para
asegurar que cada usuario ve una lista con las páginas que está
autorizado a ver. Después de pasar por esa función, la misma consulta
que está arriba se ve:
SELECT
area.title, area.brief_description, area.main_picture
FROM (SELECT DISTINCT ON (nid) * FROM node) n JOIN area USING (vid)
INNER JOIN node_access na ON na.nid = n.nid
WHERE (na.grant_view >= 1
AND ((na.gid = 0 AND na.realm = 'all')
OR (na.gid = 2 AND na.realm = 'term_access')
OR (na.gid = 6 AND na.realm = 'term_access'))
)
ORDER BY title;
Tanto node_access como term_access se refieren a los permisos definidos
en ciertas tablas.
Resulta que la segunda consulta me muestra resultados duplicados. No sé
por qué todavía, pero basta con agregar un DISTINCT para que todo se
resuelva. Mi pregunta es si vale la pena pasar un buen rato intentando
reescribir mi consulta para evitar tener que usar distinct. La
diferencia es muy pequeña, del orden de 1ms. ¿En general, debo evitar
usar distinct?
Gracias
--
Carolina Román Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl>
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Bazán | 2009-10-28 20:36:36 | Consulta a catálogo |
Previous Message | Xavi | 2009-10-28 17:50:02 | Re: Problemas con cifras o redondeno |