SELECT pe.prodtree_element_id prodID, pe.prodtree_element_name_s, li.line_name, av2.value
FROM prodtree_element pe
LEFT JOIN prodtree_link pl
ON pe.prodtree_element_id = pl.to_prodtree_node_id
LEFT JOIN line li
ON pe.line_code = li.line_code
INNER JOIN attribute_values av
ON av.attribute_definition_id = #statusCode#
LEFT JOIN attribute_values av2
ON pe.prodtree_element_id = av.prodtree_element_id
WHERE pe.prodtree_element_func_type <> 'WIZARD'
AND pe.prodtree_element_topo_type = 'NODE'
"# statusCode #" est un identifiant statique qui correspond à un identifiant dans la table de définition d'attribut (disons 22 pour l'argument). Le problème est, la requête a un gros problème de finition dans un délai raisonnable. Le plus gros problème est que j'ai un peu besoin de finir plus tôt, mais le nombre d'enregistrements est énorme et doit être réduit (environ 30 à 50 000). J'ai besoin de données provenant de plusieurs tables, c'est là que ça commence à ralentir. C'est juste une partie de ce dont j'ai besoin, j'ai aussi besoin de toute une autre table de données correspondant à l'actuel "prodtree_elment_id". J'utilise ColdFusion mais l'exécution même de la requête directement dans SQL Server 2005 crée l'attente de 15-30 minutes pour cette requête (si elle se termine même). Existe-t-il un moyen concevable d'accélérer cette requête pour prendre au plus 5 minutes ou moins?Besoin d'accélérer cette requête dans SQL Server
Avez-vous des index? Assurez-vous que les jointures ont des index de couverture. Assurez-vous également que vos jointures ne nécessitent aucun casting implicite. Vous pouvez vérifier cela dans le plan de requête. –