Optimizar filtrado en varias tablas

03/05/2007 - 15:59 por Juan Diego Bueno | Informe spam
Hola gente:

Estoy desarrollando actualmente un proyecto en C# 2.0 + SQL Server
2005. El sistema de filtrado que he implementado se basa en una vista
obtenida a partir de una tabla principal (candidatos) y varias
relacionadas con Left outer join.

El tema es que la vista devuelve varias veces el mismo candidato (como
cabría de esperar) en función de las ocurrencias en cada una de las
tablas de relación y con combinación cartesiana, de tal forma que si
por un casual tiene n registros en una, m en otro y así
sucesivamente, puede aparecer n x m x ... veces el mismo candidato, lo
cual cuando la base de datos se cubra con una cantidad considerable de
candidatos y sus datos relacionados, puede dar una vista que devuelva
muchísimos registros.

¿Alguna forma de poder realizar esta consulta de manera que devuelva
los menos registros posibles?. O en su defecto alguna alternativa
eficaz a este sistema.

Gracias de antemano

Saludos
 

Leer las respuestas

#1 Maxi
03/05/2007 - 16:05 | Informe spam
Hola, la verdad que no sabemos, y no lo sabemos porque no sabemos que has
hecho, para poderte ayudar debes mostrarnos que hicistes amigo, es
importante que nos envies:

1) DDL de tablas
2) query
3) Resultados esperados



Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Juan Diego Bueno" escribió en el mensaje
news:
Hola gente:

Estoy desarrollando actualmente un proyecto en C# 2.0 + SQL Server
2005. El sistema de filtrado que he implementado se basa en una vista
obtenida a partir de una tabla principal (candidatos) y varias
relacionadas con Left outer join.

El tema es que la vista devuelve varias veces el mismo candidato (como
cabría de esperar) en función de las ocurrencias en cada una de las
tablas de relación y con combinación cartesiana, de tal forma que si
por un casual tiene n registros en una, m en otro y así
sucesivamente, puede aparecer n x m x ... veces el mismo candidato, lo
cual cuando la base de datos se cubra con una cantidad considerable de
candidatos y sus datos relacionados, puede dar una vista que devuelva
muchísimos registros.

¿Alguna forma de poder realizar esta consulta de manera que devuelva
los menos registros posibles?. O en su defecto alguna alternativa
eficaz a este sistema.

Gracias de antemano

Saludos

Preguntas similares