09/08/2007, 17h40
|
#4
|
|
|
Re: Probleme de perfs sur une requête
Pas dans une stored proc
"Jean-Pierre Riehl" a écrit :
> Bonjour,
>
> Ces 2 requêtes sont-elles appelées depuis une procédure stockée, une
> instruction sp_executesql ou depuis une commande préparée ?
> L'utilisation de variables locales dans un script peut influer sur
> l'optimiseur de requête quand il la compile.
>
>
> --
> Jean-Pierre Riehl
> http://blog.djeepy1.net
> http://www.bewise.fr
>
>
> "Brigitte" <Brigitte@discussions.microsoft.com> wrote in message
> news:C3A08940-FD3D-4BB8-B52A-8617ECACE9D9@microsoft.com...
> > Bonjour,
> >
> > Comment peut-on expliquer que ces deux requêtes ont un temps d'exécution
> > totalement différent :
> >
> > SELECT DISTINCT PROFIL_ID, POSBT.SICOVAM, POSBT.FAIRVALUE, PRIX.THEO,
> > POS.FAIRVALUE, POSBT.QUANTITY, POSBT.COD_PORT, POSBT.COD_DEVISE,
> > '20070806',
> > GETDATE()
> > FROM IMP_VAR_DETAIL_POS_BT_CORRIGE POSBT, REF_PORT_SOURCE_HISTORIQUE RPS,
> > IMP_SOPH_PRIX PRIX, IMP_VAR_DETAIL_POS_GEN_CORRIGE POS
> > WHERE RPS.DAT_PRO_UTIL = '20070806'
> > AND POSBT.DAT_PRO = '20070806'
> > AND PRIX.DAT_PRO = '20070806'
> > AND POS.DAT_PRO = '20070806'
> > AND SOURCE = 'SOPHIS'
> > AND POSBT.COD_PORT = RPS.COD_PORT
> > AND POSBT.SICOVAM *= SIC_INSTR
> > AND POSBT.QUANTITY <> 0
> > AND POSBT.COD_PORT = POS.COD_PORT
> > AND POSBT.SICOVAM = POS.SICOVAM
> > AND POSBT.QUANTITY = POS.QUANTITY
> >
> > DECLARE @DAT_PRO varchar(8)
> > SELECT @DAT_PRO = '20070806'
> >
> > SELECT DISTINCT PROFIL_ID, POSBT.SICOVAM, POSBT.FAIRVALUE, PRIX.THEO,
> > POS.FAIRVALUE, POSBT.QUANTITY, POSBT.COD_PORT, POSBT.COD_DEVISE,
> > '20070806',
> > GETDATE()
> > FROM IMP_VAR_DETAIL_POS_BT_CORRIGE POSBT, REF_PORT_SOURCE_HISTORIQUE RPS,
> > IMP_SOPH_PRIX PRIX, IMP_VAR_DETAIL_POS_GEN_CORRIGE POS
> > WHERE RPS.DAT_PRO_UTIL = @DAT_PRO
> > AND POSBT.DAT_PRO = @DAT_PRO
> > AND PRIX.DAT_PRO = @DAT_PRO
> > AND POS.DAT_PRO = @DAT_PRO
> > AND SOURCE = 'SOPHIS'
> > AND POSBT.COD_PORT = RPS.COD_PORT
> > AND POSBT.SICOVAM *= SIC_INSTR
> > AND POSBT.QUANTITY <> 0
> > AND POSBT.COD_PORT = POS.COD_PORT
> > AND POSBT.SICOVAM = POS.SICOVAM
> > AND POSBT.QUANTITY = POS.QUANTITY
> >
> > merci
> >
> > Bonne journée
> >
> > Brigitte
>
|
|
|
|