OVH Cloud OVH Cloud

Difference entre Proc Stock, Vue et requete standard

17 réponses
Avatar
David Bizier
Bonjour,

J'ai une requête SQL assez complexe qui est lancé sur mon site Internet
chaque fois qu'un usager ouvre ma page ASP.

Je voudrais savoir ce qui est le plus performant:

- Appeler de ma page une procédure stocké

- Appeler une vue

- Créer un objet recordSet et lui passer la requête SQL et
Récupérer le résultat.


Je suis un peu mélanger entre c'est trois options... Est-ce que
Quelqu'un pourrait m'éclairer svp ?

Merci!
David
Sent using the Microsoft Entourage 2004 for Mac Test Drive.

7 réponses

1 2
Avatar
David Bizier
Bonjour,

Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
Par contre, si j'essais gg13. Ca marche sans problème.

Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.

Merci!
David


On 16/06/04 16:16, in article ,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please> wrote:

Non, vous devez mettre dbo. de préférence.

Il est possible de créer plusieurs procédures et tables ayant le même nom
mais distinctes à cause du nom de l'usager, dbo. étant pris par défaut:

dbo.procedureQuelconque (...)...

gg13.procedureQuelconque (...)...

davidbizier.procedureQuelconque (...)...

Si vous écrivez seulement procedureQuelconque () au lieu de
dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server vérifie
d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
dbo.procedureQuelconque() en fin de compte. Cela constitue une perte de
temps et empêche le SQL-Server de maintenir en cache les procédures
compilées car il doit revérifier de nouveau à chaque appel.

Même chose pour les noms des tables mais avec un impact sur la performance
pire encore.

S. L.


"David Bizier" wrote in message
news:BCF614E2.568%
Si je comprend bien, DBO peut changer tout dépendant de notre login SQL
Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
Dois mettre gg13. et non dbo.

Est-ce exacte ?

Merci!
David


On 16/06/04 12:00, in article OyR6#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Explications supplémentaires:

On doit préciser l'usager dbo. comme propriétaire de la procédure et




des
éléments à l'interne car sinon SQL-Server doit vérifier à chaque fois




s'il
n'existe pas une autre procédure ou d'autres tables avec le même nom




mais
sous un nom d'usager différent; ce qui l'empêche de compiler la




procédure au
complet et de mettre en cache la compilation une fois pour toute.
L'utilisation de procédures et de tables différentes ayant le même nom




mais
distinguées par leurs noms d'usagers est quelque chose très très




rarement
utilisé par les programmeurs mais néanmoins on doit vivre avec et, par
conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les




choses.

De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert à
indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées au
système, avec un ordre d'appel et de vérification différents des




procédures
stockées créées par les usagers. Cela ralentit indûment le système et




peut
même être la cause de certains bugs subtils dans certains cas.

Ces deux principes sont décrits dans le BOL (documentation en ligne)




de
SQL-Server.

S. L.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:
Procédure stockée avec le préfixe dbo. définit pour le nom de la SP






ainsi
que pour tous les objets référencés à l'intérieur. N'utilisez pas le
préfixe sp_ au début du nom. Exemple:

Create Procedure dbo.StoredProcedure1 (...)
As
set nocount on
select * from dbo.table1
....

Si vous utilisez pratiquement toujours les mêmes paramètres d'appel à


votre
procédure stockée, cacher les résultats quelque part en mémoire






pourrait
également servir.

S. L.

"David Bizier" wrote in message
news:BCF4875D.281%
Bonjour,

J'ai une requête SQL assez complexe qui est lancé sur mon site








Internet
chaque fois qu'un usager ouvre ma page ASP.

Je voudrais savoir ce qui est le plus performant:

- Appeler de ma page une procédure stocké

- Appeler une vue

- Créer un objet recordSet et lui passer la requête SQL et
Récupérer le résultat.


Je suis un peu mélanger entre c'est trois options... Est-ce que
Quelqu'un pourrait m'éclairer svp ?

Merci!
David
Sent using the Microsoft Entourage 2004 for Mac Test Drive.












Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.
Avatar
Sylvain Lafontaine
Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
L'important, c'est de mettre quelque chose.

Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous n'avez
pas précisé dbo. lors de la création de votre procédure.

S. L.

"David Bizier" wrote in message
news:BCF62ADD.572%
Bonjour,

Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
Par contre, si j'essais gg13. Ca marche sans problème.

Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.

Merci!
David


On 16/06/04 16:16, in article ,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

> Non, vous devez mettre dbo. de préférence.
>
> Il est possible de créer plusieurs procédures et tables ayant le même


nom
> mais distinctes à cause du nom de l'usager, dbo. étant pris par défaut:
>
> dbo.procedureQuelconque (...)...
>
> gg13.procedureQuelconque (...)...
>
> davidbizier.procedureQuelconque (...)...
>
> Si vous écrivez seulement procedureQuelconque () au lieu de
> dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server


vérifie
> d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
> utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
> dbo.procedureQuelconque() en fin de compte. Cela constitue une perte de
> temps et empêche le SQL-Server de maintenir en cache les procédures
> compilées car il doit revérifier de nouveau à chaque appel.
>
> Même chose pour les noms des tables mais avec un impact sur la


performance
> pire encore.
>
> S. L.
>
>
> "David Bizier" wrote in message
> news:BCF614E2.568%
>> Si je comprend bien, DBO peut changer tout dépendant de notre login SQL
>> Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
>> Dois mettre gg13. et non dbo.
>>
>> Est-ce exacte ?
>>
>> Merci!
>> David
>>
>>
>> On 16/06/04 12:00, in article OyR6#,
>> "Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>
> wrote:
>>
>>> Explications supplémentaires:
>>>
>>> On doit préciser l'usager dbo. comme propriétaire de la procédure


et
> des
>>> éléments à l'interne car sinon SQL-Server doit vérifier à chaque fois
> s'il
>>> n'existe pas une autre procédure ou d'autres tables avec le même nom
> mais
>>> sous un nom d'usager différent; ce qui l'empêche de compiler la
> procédure au
>>> complet et de mettre en cache la compilation une fois pour toute.
>>> L'utilisation de procédures et de tables différentes ayant le même nom
> mais
>>> distinguées par leurs noms d'usagers est quelque chose très très
> rarement
>>> utilisé par les programmeurs mais néanmoins on doit vivre avec et, par
>>> conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les
> choses.
>>>
>>> De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert à
>>> indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées au
>>> système, avec un ordre d'appel et de vérification différents des
> procédures
>>> stockées créées par les usagers. Cela ralentit indûment le système et
> peut
>>> même être la cause de certains bugs subtils dans certains cas.
>>>
>>> Ces deux principes sont décrits dans le BOL (documentation en


ligne)
> de
>>> SQL-Server.
>>>
>>> S. L.
>>>
>>> "Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam


please)>
>>> wrote in message news:
>>>> Procédure stockée avec le préfixe dbo. définit pour le nom de la SP
> ainsi
>>>> que pour tous les objets référencés à l'intérieur. N'utilisez pas le
>>>> préfixe sp_ au début du nom. Exemple:
>>>>
>>>> Create Procedure dbo.StoredProcedure1 (...)
>>>> As
>>>> set nocount on
>>>> select * from dbo.table1
>>>> ....
>>>>
>>>> Si vous utilisez pratiquement toujours les mêmes paramètres d'appel à
>>> votre
>>>> procédure stockée, cacher les résultats quelque part en mémoire
> pourrait
>>>> également servir.
>>>>
>>>> S. L.
>>>>
>>>> "David Bizier" wrote in message
>>>> news:BCF4875D.281%
>>>>> Bonjour,
>>>>>
>>>>> J'ai une requête SQL assez complexe qui est lancé sur mon site
> Internet
>>>>> chaque fois qu'un usager ouvre ma page ASP.
>>>>>
>>>>> Je voudrais savoir ce qui est le plus performant:
>>>>>
>>>>> - Appeler de ma page une procédure stocké
>>>>>
>>>>> - Appeler une vue
>>>>>
>>>>> - Créer un objet recordSet et lui passer la requête SQL et
>>>>> Récupérer le résultat.
>>>>>
>>>>>
>>>>> Je suis un peu mélanger entre c'est trois options... Est-ce que
>>>>> Quelqu'un pourrait m'éclairer svp ?
>>>>>
>>>>> Merci!
>>>>> David
>>>>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>
>
>

Sent using the Microsoft Entourage 2004 for Mac Test Drive.



Avatar
David Bizier
Bonjour,

Ici, je parle dans mes requete standard:

SELECT * FROM gg13.matable


On 16/06/04 17:17, in article ucTCXc#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please> wrote:

Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
L'important, c'est de mettre quelque chose.

Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous n'avez
pas précisé dbo. lors de la création de votre procédure.

S. L.

"David Bizier" wrote in message
news:BCF62ADD.572%
Bonjour,

Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
Par contre, si j'essais gg13. Ca marche sans problème.

Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.

Merci!
David


On 16/06/04 16:16, in article ,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Non, vous devez mettre dbo. de préférence.

Il est possible de créer plusieurs procédures et tables ayant le même




nom
mais distinctes à cause du nom de l'usager, dbo. étant pris par défaut:

dbo.procedureQuelconque (...)...

gg13.procedureQuelconque (...)...

davidbizier.procedureQuelconque (...)...

Si vous écrivez seulement procedureQuelconque () au lieu de
dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server




vérifie
d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
dbo.procedureQuelconque() en fin de compte. Cela constitue une perte de
temps et empêche le SQL-Server de maintenir en cache les procédures
compilées car il doit revérifier de nouveau à chaque appel.

Même chose pour les noms des tables mais avec un impact sur la




performance
pire encore.

S. L.


"David Bizier" wrote in message
news:BCF614E2.568%
Si je comprend bien, DBO peut changer tout dépendant de notre login SQL
Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
Dois mettre gg13. et non dbo.

Est-ce exacte ?

Merci!
David


On 16/06/04 12:00, in article OyR6#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Explications supplémentaires:

On doit préciser l'usager dbo. comme propriétaire de la procédure








et
des
éléments à l'interne car sinon SQL-Server doit vérifier à chaque fois




s'il
n'existe pas une autre procédure ou d'autres tables avec le même nom




mais
sous un nom d'usager différent; ce qui l'empêche de compiler la




procédure au
complet et de mettre en cache la compilation une fois pour toute.
L'utilisation de procédures et de tables différentes ayant le même nom




mais
distinguées par leurs noms d'usagers est quelque chose très très




rarement
utilisé par les programmeurs mais néanmoins on doit vivre avec et, par
conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les




choses.

De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert à
indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées au
système, avec un ordre d'appel et de vérification différents des




procédures
stockées créées par les usagers. Cela ralentit indûment le système et




peut
même être la cause de certains bugs subtils dans certains cas.

Ces deux principes sont décrits dans le BOL (documentation en








ligne)
de
SQL-Server.

S. L.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam








please)>
wrote in message news:
Procédure stockée avec le préfixe dbo. définit pour le nom de la SP






ainsi
que pour tous les objets référencés à l'intérieur. N'utilisez pas le
préfixe sp_ au début du nom. Exemple:

Create Procedure dbo.StoredProcedure1 (...)
As
set nocount on
select * from dbo.table1
....

Si vous utilisez pratiquement toujours les mêmes paramètres d'appel à


votre
procédure stockée, cacher les résultats quelque part en mémoire






pourrait
également servir.

S. L.

"David Bizier" wrote in message
news:BCF4875D.281%
Bonjour,

J'ai une requête SQL assez complexe qui est lancé sur mon site








Internet
chaque fois qu'un usager ouvre ma page ASP.

Je voudrais savoir ce qui est le plus performant:

- Appeler de ma page une procédure stocké

- Appeler une vue

- Créer un objet recordSet et lui passer la requête SQL et
Récupérer le résultat.


Je suis un peu mélanger entre c'est trois options... Est-ce que
Quelqu'un pourrait m'éclairer svp ?

Merci!
David
Sent using the Microsoft Entourage 2004 for Mac Test Drive.












Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.
Avatar
Sylvain Lafontaine
Même principe pour la création de la table que pour la création de la
procédure.

S. L.

"David Bizier" wrote in message
news:BCF636A4.575%
Bonjour,

Ici, je parle dans mes requete standard:

SELECT * FROM gg13.matable


On 16/06/04 17:17, in article ucTCXc#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

> Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
> L'important, c'est de mettre quelque chose.
>
> Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous


n'avez
> pas précisé dbo. lors de la création de votre procédure.
>
> S. L.
>
> "David Bizier" wrote in message
> news:BCF62ADD.572%
>> Bonjour,
>>
>> Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
>> Par contre, si j'essais gg13. Ca marche sans problème.
>>
>> Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
>> mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.
>>
>> Merci!
>> David
>>
>>
>> On 16/06/04 16:16, in article ,
>> "Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>
> wrote:
>>
>>> Non, vous devez mettre dbo. de préférence.
>>>
>>> Il est possible de créer plusieurs procédures et tables ayant le même
> nom
>>> mais distinctes à cause du nom de l'usager, dbo. étant pris par


défaut:
>>>
>>> dbo.procedureQuelconque (...)...
>>>
>>> gg13.procedureQuelconque (...)...
>>>
>>> davidbizier.procedureQuelconque (...)...
>>>
>>> Si vous écrivez seulement procedureQuelconque () au lieu de
>>> dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server
> vérifie
>>> d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
>>> utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
>>> dbo.procedureQuelconque() en fin de compte. Cela constitue une perte


de
>>> temps et empêche le SQL-Server de maintenir en cache les procédures
>>> compilées car il doit revérifier de nouveau à chaque appel.
>>>
>>> Même chose pour les noms des tables mais avec un impact sur la
> performance
>>> pire encore.
>>>
>>> S. L.
>>>
>>>
>>> "David Bizier" wrote in message
>>> news:BCF614E2.568%
>>>> Si je comprend bien, DBO peut changer tout dépendant de notre login


SQL
>>>> Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
>>>> Dois mettre gg13. et non dbo.
>>>>
>>>> Est-ce exacte ?
>>>>
>>>> Merci!
>>>> David
>>>>
>>>>
>>>> On 16/06/04 12:00, in article OyR6#,
>>>> "Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>
>>> wrote:
>>>>
>>>>> Explications supplémentaires:
>>>>>
>>>>> On doit préciser l'usager dbo. comme propriétaire de la


procédure
> et
>>> des
>>>>> éléments à l'interne car sinon SQL-Server doit vérifier à chaque


fois
>>> s'il
>>>>> n'existe pas une autre procédure ou d'autres tables avec le même nom
>>> mais
>>>>> sous un nom d'usager différent; ce qui l'empêche de compiler la
>>> procédure au
>>>>> complet et de mettre en cache la compilation une fois pour toute.
>>>>> L'utilisation de procédures et de tables différentes ayant le même


nom
>>> mais
>>>>> distinguées par leurs noms d'usagers est quelque chose très très
>>> rarement
>>>>> utilisé par les programmeurs mais néanmoins on doit vivre avec et,


par
>>>>> conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les
>>> choses.
>>>>>
>>>>> De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert


à
>>>>> indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées


au
>>>>> système, avec un ordre d'appel et de vérification différents des
>>> procédures
>>>>> stockées créées par les usagers. Cela ralentit indûment le système


et
>>> peut
>>>>> même être la cause de certains bugs subtils dans certains cas.
>>>>>
>>>>> Ces deux principes sont décrits dans le BOL (documentation en
> ligne)
>>> de
>>>>> SQL-Server.
>>>>>
>>>>> S. L.
>>>>>
>>>>> "Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam
> please)>
>>>>> wrote in message news:
>>>>>> Procédure stockée avec le préfixe dbo. définit pour le nom de la SP
>>> ainsi
>>>>>> que pour tous les objets référencés à l'intérieur. N'utilisez pas


le
>>>>>> préfixe sp_ au début du nom. Exemple:
>>>>>>
>>>>>> Create Procedure dbo.StoredProcedure1 (...)
>>>>>> As
>>>>>> set nocount on
>>>>>> select * from dbo.table1
>>>>>> ....
>>>>>>
>>>>>> Si vous utilisez pratiquement toujours les mêmes paramètres d'appel


à
>>>>> votre
>>>>>> procédure stockée, cacher les résultats quelque part en mémoire
>>> pourrait
>>>>>> également servir.
>>>>>>
>>>>>> S. L.
>>>>>>
>>>>>> "David Bizier" wrote in


message
>>>>>> news:BCF4875D.281%
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> J'ai une requête SQL assez complexe qui est lancé sur mon site
>>> Internet
>>>>>>> chaque fois qu'un usager ouvre ma page ASP.
>>>>>>>
>>>>>>> Je voudrais savoir ce qui est le plus performant:
>>>>>>>
>>>>>>> - Appeler de ma page une procédure stocké
>>>>>>>
>>>>>>> - Appeler une vue
>>>>>>>
>>>>>>> - Créer un objet recordSet et lui passer la requête SQL et
>>>>>>> Récupérer le résultat.
>>>>>>>
>>>>>>>
>>>>>>> Je suis un peu mélanger entre c'est trois options... Est-ce que
>>>>>>> Quelqu'un pourrait m'éclairer svp ?
>>>>>>>
>>>>>>> Merci!
>>>>>>> David
>>>>>>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>>>
>>>
>>>
>>
>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>
>
>

Sent using the Microsoft Entourage 2004 for Mac Test Drive.



Avatar
Sylvain Lafontaine
Même principe pour la création de la table que pour la création de la
procédure.

S. L.

"David Bizier" wrote in message
news:BCF636A4.575%
Bonjour,

Ici, je parle dans mes requete standard:

SELECT * FROM gg13.matable


On 16/06/04 17:17, in article ucTCXc#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

> Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
> L'important, c'est de mettre quelque chose.
>
> Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous


n'avez
> pas précisé dbo. lors de la création de votre procédure.
>
> S. L.
>
> "David Bizier" wrote in message
> news:BCF62ADD.572%
>> Bonjour,
>>
>> Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
>> Par contre, si j'essais gg13. Ca marche sans problème.
>>
>> Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
>> mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.
>>
>> Merci!
>> David
>>
>>
>> On 16/06/04 16:16, in article ,
>> "Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>
> wrote:
>>
>>> Non, vous devez mettre dbo. de préférence.
>>>
>>> Il est possible de créer plusieurs procédures et tables ayant le même
> nom
>>> mais distinctes à cause du nom de l'usager, dbo. étant pris par


défaut:
>>>
>>> dbo.procedureQuelconque (...)...
>>>
>>> gg13.procedureQuelconque (...)...
>>>
>>> davidbizier.procedureQuelconque (...)...
>>>
>>> Si vous écrivez seulement procedureQuelconque () au lieu de
>>> dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server
> vérifie
>>> d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
>>> utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
>>> dbo.procedureQuelconque() en fin de compte. Cela constitue une perte


de
>>> temps et empêche le SQL-Server de maintenir en cache les procédures
>>> compilées car il doit revérifier de nouveau à chaque appel.
>>>
>>> Même chose pour les noms des tables mais avec un impact sur la
> performance
>>> pire encore.
>>>
>>> S. L.
>>>
>>>
>>> "David Bizier" wrote in message
>>> news:BCF614E2.568%
>>>> Si je comprend bien, DBO peut changer tout dépendant de notre login


SQL
>>>> Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
>>>> Dois mettre gg13. et non dbo.
>>>>
>>>> Est-ce exacte ?
>>>>
>>>> Merci!
>>>> David
>>>>
>>>>
>>>> On 16/06/04 12:00, in article OyR6#,
>>>> "Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>
>>> wrote:
>>>>
>>>>> Explications supplémentaires:
>>>>>
>>>>> On doit préciser l'usager dbo. comme propriétaire de la


procédure
> et
>>> des
>>>>> éléments à l'interne car sinon SQL-Server doit vérifier à chaque


fois
>>> s'il
>>>>> n'existe pas une autre procédure ou d'autres tables avec le même nom
>>> mais
>>>>> sous un nom d'usager différent; ce qui l'empêche de compiler la
>>> procédure au
>>>>> complet et de mettre en cache la compilation une fois pour toute.
>>>>> L'utilisation de procédures et de tables différentes ayant le même


nom
>>> mais
>>>>> distinguées par leurs noms d'usagers est quelque chose très très
>>> rarement
>>>>> utilisé par les programmeurs mais néanmoins on doit vivre avec et,


par
>>>>> conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les
>>> choses.
>>>>>
>>>>> De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert


à
>>>>> indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées


au
>>>>> système, avec un ordre d'appel et de vérification différents des
>>> procédures
>>>>> stockées créées par les usagers. Cela ralentit indûment le système


et
>>> peut
>>>>> même être la cause de certains bugs subtils dans certains cas.
>>>>>
>>>>> Ces deux principes sont décrits dans le BOL (documentation en
> ligne)
>>> de
>>>>> SQL-Server.
>>>>>
>>>>> S. L.
>>>>>
>>>>> "Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam
> please)>
>>>>> wrote in message news:
>>>>>> Procédure stockée avec le préfixe dbo. définit pour le nom de la SP
>>> ainsi
>>>>>> que pour tous les objets référencés à l'intérieur. N'utilisez pas


le
>>>>>> préfixe sp_ au début du nom. Exemple:
>>>>>>
>>>>>> Create Procedure dbo.StoredProcedure1 (...)
>>>>>> As
>>>>>> set nocount on
>>>>>> select * from dbo.table1
>>>>>> ....
>>>>>>
>>>>>> Si vous utilisez pratiquement toujours les mêmes paramètres d'appel


à
>>>>> votre
>>>>>> procédure stockée, cacher les résultats quelque part en mémoire
>>> pourrait
>>>>>> également servir.
>>>>>>
>>>>>> S. L.
>>>>>>
>>>>>> "David Bizier" wrote in


message
>>>>>> news:BCF4875D.281%
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> J'ai une requête SQL assez complexe qui est lancé sur mon site
>>> Internet
>>>>>>> chaque fois qu'un usager ouvre ma page ASP.
>>>>>>>
>>>>>>> Je voudrais savoir ce qui est le plus performant:
>>>>>>>
>>>>>>> - Appeler de ma page une procédure stocké
>>>>>>>
>>>>>>> - Appeler une vue
>>>>>>>
>>>>>>> - Créer un objet recordSet et lui passer la requête SQL et
>>>>>>> Récupérer le résultat.
>>>>>>>
>>>>>>>
>>>>>>> Je suis un peu mélanger entre c'est trois options... Est-ce que
>>>>>>> Quelqu'un pourrait m'éclairer svp ?
>>>>>>>
>>>>>>> Merci!
>>>>>>> David
>>>>>>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>>>
>>>
>>>
>>
>> Sent using the Microsoft Entourage 2004 for Mac Test Drive.
>>
>
>

Sent using the Microsoft Entourage 2004 for Mac Test Drive.



Avatar
David Bizier
Donc, quand je fais la création d'une table, il faut que je spécifie dbo.
avant le nom de chaque table ?

Exemple: le nom que j'écris: dbo.maTable

Est-ce que je pourrais aussi utiliser gg13.maTable ? Est-ce que ce sera
les même performance.

Merci de ta patiance! ;)
David

On 16/06/04 19:25, in article uKWlrj$,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please> wrote:

Même principe pour la création de la table que pour la création de la
procédure.

S. L.

"David Bizier" wrote in message
news:BCF636A4.575%
Bonjour,

Ici, je parle dans mes requete standard:

SELECT * FROM gg13.matable


On 16/06/04 17:17, in article ucTCXc#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
L'important, c'est de mettre quelque chose.

Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous




n'avez
pas précisé dbo. lors de la création de votre procédure.

S. L.

"David Bizier" wrote in message
news:BCF62ADD.572%
Bonjour,

Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
Par contre, si j'essais gg13. Ca marche sans problème.

Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.

Merci!
David


On 16/06/04 16:16, in article ,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Non, vous devez mettre dbo. de préférence.

Il est possible de créer plusieurs procédures et tables ayant le même




nom
mais distinctes à cause du nom de l'usager, dbo. étant pris par








défaut:

dbo.procedureQuelconque (...)...

gg13.procedureQuelconque (...)...

davidbizier.procedureQuelconque (...)...

Si vous écrivez seulement procedureQuelconque () au lieu de
dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server




vérifie
d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
dbo.procedureQuelconque() en fin de compte. Cela constitue une perte








de
temps et empêche le SQL-Server de maintenir en cache les procédures
compilées car il doit revérifier de nouveau à chaque appel.

Même chose pour les noms des tables mais avec un impact sur la




performance
pire encore.

S. L.


"David Bizier" wrote in message
news:BCF614E2.568%
Si je comprend bien, DBO peut changer tout dépendant de notre login










SQL
Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
Dois mettre gg13. et non dbo.

Est-ce exacte ?

Merci!
David


On 16/06/04 12:00, in article OyR6#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Explications supplémentaires:

On doit préciser l'usager dbo. comme propriétaire de la












procédure
et
des
éléments à l'interne car sinon SQL-Server doit vérifier à chaque












fois
s'il
n'existe pas une autre procédure ou d'autres tables avec le même nom




mais
sous un nom d'usager différent; ce qui l'empêche de compiler la




procédure au
complet et de mettre en cache la compilation une fois pour toute.
L'utilisation de procédures et de tables différentes ayant le même












nom
mais
distinguées par leurs noms d'usagers est quelque chose très très




rarement
utilisé par les programmeurs mais néanmoins on doit vivre avec et,












par
conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les




choses.

De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert












à
indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées












au
système, avec un ordre d'appel et de vérification différents des




procédures
stockées créées par les usagers. Cela ralentit indûment le système












et
peut
même être la cause de certains bugs subtils dans certains cas.

Ces deux principes sont décrits dans le BOL (documentation en








ligne)
de
SQL-Server.

S. L.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam








please)>
wrote in message news:
Procédure stockée avec le préfixe dbo. définit pour le nom de la SP






ainsi
que pour tous les objets référencés à l'intérieur. N'utilisez pas














le
préfixe sp_ au début du nom. Exemple:

Create Procedure dbo.StoredProcedure1 (...)
As
set nocount on
select * from dbo.table1
....

Si vous utilisez pratiquement toujours les mêmes paramètres d'appel














à
votre
procédure stockée, cacher les résultats quelque part en mémoire






pourrait
également servir.

S. L.

"David Bizier" wrote in














message
news:BCF4875D.281%
Bonjour,

J'ai une requête SQL assez complexe qui est lancé sur mon site








Internet
chaque fois qu'un usager ouvre ma page ASP.

Je voudrais savoir ce qui est le plus performant:

- Appeler de ma page une procédure stocké

- Appeler une vue

- Créer un objet recordSet et lui passer la requête SQL et
Récupérer le résultat.


Je suis un peu mélanger entre c'est trois options... Est-ce que
Quelqu'un pourrait m'éclairer svp ?

Merci!
David
Sent using the Microsoft Entourage 2004 for Mac Test Drive.












Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.
Avatar
David Bizier
Donc, quand je fais la création d'une table, il faut que je spécifie dbo.
avant le nom de chaque table ?

Exemple: le nom que j'écris: dbo.maTable

Est-ce que je pourrais aussi utiliser gg13.maTable ? Est-ce que ce sera
les même performance.

Merci de ta patiance! ;)
David

On 16/06/04 19:25, in article uKWlrj$,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please> wrote:

Même principe pour la création de la table que pour la création de la
procédure.

S. L.

"David Bizier" wrote in message
news:BCF636A4.575%
Bonjour,

Ici, je parle dans mes requete standard:

SELECT * FROM gg13.matable


On 16/06/04 17:17, in article ucTCXc#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Toujours préciser gg13. au lieu de dbo. va revenir presque au même.
L'important, c'est de mettre quelque chose.

Cela ne fonctionne pas avec dbo. dans votre page ASP parce que vous




n'avez
pas précisé dbo. lors de la création de votre procédure.

S. L.

"David Bizier" wrote in message
news:BCF62ADD.572%
Bonjour,

Quand j'essais dbo., j'obtiens un message d'erreur dans ma page ASP.
Par contre, si j'essais gg13. Ca marche sans problème.

Petite chose que je n'ai pas spécifié, le serveur SQL est géré par
mon hébergeur Internet. Aussi, p-t que dbo. n'est pas accessible.

Merci!
David


On 16/06/04 16:16, in article ,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Non, vous devez mettre dbo. de préférence.

Il est possible de créer plusieurs procédures et tables ayant le même




nom
mais distinctes à cause du nom de l'usager, dbo. étant pris par








défaut:

dbo.procedureQuelconque (...)...

gg13.procedureQuelconque (...)...

davidbizier.procedureQuelconque (...)...

Si vous écrivez seulement procedureQuelconque () au lieu de
dbo.procedureQuelconque() lors de l'appel à la procédure, SQL-Server




vérifie
d'abord s'il n'existe pas une procédure gg13.procedureQuelconque() (en
utilisant votre nom d'usager comme préfixe) avant de se rabattre sur
dbo.procedureQuelconque() en fin de compte. Cela constitue une perte








de
temps et empêche le SQL-Server de maintenir en cache les procédures
compilées car il doit revérifier de nouveau à chaque appel.

Même chose pour les noms des tables mais avec un impact sur la




performance
pire encore.

S. L.


"David Bizier" wrote in message
news:BCF614E2.568%
Si je comprend bien, DBO peut changer tout dépendant de notre login










SQL
Server. Par exemple, dans mon cas, mon login c'est gg13. Donc, je
Dois mettre gg13. et non dbo.

Est-ce exacte ?

Merci!
David


On 16/06/04 12:00, in article OyR6#,
"Sylvain Lafontaine" <sylvain aei ca fill the blanks, no spam please>


wrote:

Explications supplémentaires:

On doit préciser l'usager dbo. comme propriétaire de la












procédure
et
des
éléments à l'interne car sinon SQL-Server doit vérifier à chaque












fois
s'il
n'existe pas une autre procédure ou d'autres tables avec le même nom




mais
sous un nom d'usager différent; ce qui l'empêche de compiler la




procédure au
complet et de mettre en cache la compilation une fois pour toute.
L'utilisation de procédures et de tables différentes ayant le même












nom
mais
distinguées par leurs noms d'usagers est quelque chose très très




rarement
utilisé par les programmeurs mais néanmoins on doit vivre avec et,












par
conséquent, toujours rajouter le préfixe dbo. afin d'accélérer les




choses.

De même, on ne doit pas utiliser le préfixe sp_ ce celui-ci sert












à
indiquer à SQL-Server qu'il s'agit de procédures spéciales reliées












au
système, avec un ordre d'appel et de vérification différents des




procédures
stockées créées par les usagers. Cela ralentit indûment le système












et
peut
même être la cause de certains bugs subtils dans certains cas.

Ces deux principes sont décrits dans le BOL (documentation en








ligne)
de
SQL-Server.

S. L.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam








please)>
wrote in message news:
Procédure stockée avec le préfixe dbo. définit pour le nom de la SP






ainsi
que pour tous les objets référencés à l'intérieur. N'utilisez pas














le
préfixe sp_ au début du nom. Exemple:

Create Procedure dbo.StoredProcedure1 (...)
As
set nocount on
select * from dbo.table1
....

Si vous utilisez pratiquement toujours les mêmes paramètres d'appel














à
votre
procédure stockée, cacher les résultats quelque part en mémoire






pourrait
également servir.

S. L.

"David Bizier" wrote in














message
news:BCF4875D.281%
Bonjour,

J'ai une requête SQL assez complexe qui est lancé sur mon site








Internet
chaque fois qu'un usager ouvre ma page ASP.

Je voudrais savoir ce qui est le plus performant:

- Appeler de ma page une procédure stocké

- Appeler une vue

- Créer un objet recordSet et lui passer la requête SQL et
Récupérer le résultat.


Je suis un peu mélanger entre c'est trois options... Est-ce que
Quelqu'un pourrait m'éclairer svp ?

Merci!
David
Sent using the Microsoft Entourage 2004 for Mac Test Drive.












Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.








Sent using the Microsoft Entourage 2004 for Mac Test Drive.
1 2