Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2008, 14h22   #1
Membre habitué
 
Inscription : janvier 2005
Messages : 457
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2005
Messages : 457
Points : 107
Points : 107
Envoyer un message via MSN à FamiDoo
Par défaut Remplacer un EXISTS

Bonjour,

je cherche à remplacer un EXISTS par autre chose notamment dans un soucis de performances mais je ne sais comment :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
AND	(
					EXISTS
					(SELECT 1
					FROM affair, doss, pfac_fele, unt_doss, pte_cmde,
					cmde, lieu, zon_geo
					WHERE	doss_codsit = ven_facture_fn.vfaf_codsit
					AND	doss_numdos = ven_facture_fn.vfaf_numdos
					AND	doss_tgm = ven_facture_fn.vfaf_tgm
					AND	pffe_numpeefacint = ven_facture_fn.vfaf_numpeefacint
					AND	udos_numintuntdos = pffe_numintuntdos
					AND	pcde_codoricde = udos_codoricde
					AND	pcde_numcde = udos_numcde
					AND	pcde_numptecde = udos_numptecde
					AND	cmde_codoricde = pcde_codoricde
					AND	cmde_numcde = pcde_numcde
					AND	lieu_codleu = doss_codpordch
					AND	zgeo_codzongeo = lieu_codzongeo
					AND 	affr_codsit = ven_facture_fn.vfaf_codsit
					AND	affr_codaff = @affaire
					AND	(affr_cdeusiexp = pcde_cdeusiexp OR affr_cdeusiexp IS NULL)
					AND	(affr_codporebq IN
										(SELECT 	voya_codporebq
										 FROM 	voyage
										 WHERE	voya_codsit = dossier.doss_codsit
										 AND		voya_numvyg = dossier.doss_numvyg
										) OR affr_codporebq IS NULL
							)
					AND	(affr_codpordch = doss.doss_codpordch OR affr_codpordch IS NULL)
					AND	(affr_codleudes = cmde_codleudes OR affr_codleudes IS NULL)
					AND	(affr_codclides = cmde_codclides OR affr_codclides IS NULL)
					AND	(affr_codclifac = pcde_codclifacman
							OR affr_codclifac = pcde_codclifacfet
							OR affr_codclifac = pcde_codclifacppt
							OR affr_codclifac = pcde_codclifacexp
							OR affr_codclifac = pcde_codclifactra
							OR affr_codclifac = pcde_codclifaccon
							OR affr_codclifac IS NULL
							)
					AND	(affr_codzongeo = zgeo_codzongeo OR affr_codzongeo IS NULL)
					AND	(affr_codcontinent = zgeo_codcontinent OR affr_codcontinent IS NULL)
					AND	(affr_codpay = lieu_codpay OR affr_codpay IS NULL)
			       )       )
Merci de votre aide
FamiDoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2008, 20h39   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 792
Points : 17 792
Sans le requête de la requête c'est impossible de t'aider !

De plus en général un EXISTS est généralement plus optimisé que tout autre opérateur !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 00h01   #3
Membre habitué
 
Inscription : janvier 2005
Messages : 457
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2005
Messages : 457
Points : 107
Points : 107
Envoyer un message via MSN à FamiDoo
Citation:
De plus en général un EXISTS est généralement plus optimisé que tout autre opérateur !
Ok justement c'est ce que je voulais savoir, donc je dois optimiser mon exists et pas tenter de le remplacer par autre chose).
FamiDoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h33.


 
 
 
 
Partenaires

Hébergement Web