Bonjour,
J'ai une procedure stockée dont il y a un bout de code ci-dessous:
J'ai beaucoup des io logiques lors de l'execution de cette procedure par plusieurs utilisateurs et aussi beaucoup de création des tables temporaires comme en temoigne les infos ci-dessous de asemonlogger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 create table #UserInfos (id_fonds int) If (@IdUser Is Not Null) Begin insert into #UserInfos select id_fonds from reporting..CDXv_HAB_UserFds uf where uf.login = convert(int,@IdUser) Delete #RESULTAT where not exists (select 1 from #UserInfos uf, GDC_DOCUMENT d, CDX_RQC_Fonds_Commande fc where #RESULTAT.IdDocument = d.IdDocument and fc.IdVersionCommande = d.IdVersionCommande and fc.iIDFonds = uf.id_fonds)
est ce qu'il ya une autre possibilité de réecrire autrement la partie sur le delete ?Statement Info :
Statement Statistics :
StmtID : 37566867
StartTime : Jan 7 2010 11:56AM
Elapsed_s : 41.593
Login : dieudo
Application : test
ClientHost : titss532
ClientIP : 159.50.136.11
ClientOSPID : null
DBID : 5
ProcName : Gproc_SelectDoc
LineNumber : 228
SPID : 813
KPID : 1782317456
PlanID : 15586728
BatchID : 547
ContextID : 2
CpuTime : 41620
WaitTime : 0
MemUsageKB : 14
PhysicalReads : 0
LogicalReads : 4640999
PagesModified : 0
PacketsSent : 0
PacketsReceived : 0
NetworkPacketSize : 2048
PlansAltered : 0
RowsAffected : 0
Remark : Statistics information is not exact due to the sampling
Objects Statistics
DBName Owner ObjectName ObjectType IndexID L_Reads P_Reads P_APFReads TblSize(Kb)
bfond 1 GDC_DOCUMENT user clustered index 1 188508 0 0 21200
tempdb_CDX 2 #RESULTAT____01008130012524728 user table 0 0 0 0 9086
tempdb_CDX 2 #RESULTAT____01008130012524728 user table 0 4362 0 0 9086
tempdb_CDX 2 #UserInfos___01008130012524728 user table 0 4495959 0 0 490
Merci de vos conseils.
Partager