Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 05/07/2007, 11h27   #1
Invité de passage
 
Inscription : mai 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 8
Points : 0
Points : 0
Par défaut Optimisation d'insertion de données dans une base SQL

Bonjour

je voudrais savoir quel est la meilleur solution en terme de ressources pour la base sql par rapport à ces 3 solutions

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
' Solution 1 :
Set ReqInsert = Server.CreateObject("ADODB.Recordset")
cmdTemp.CommandText = "INSERT INTO table (champ1, champ2, ...) VALUES ('Valeur1','Valeur2', ...)"
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = DataBase
IObjet.Open cmdTemp, , 0, 1
 
' Solution 2 :
Set ReqInsert = Server.CreateObject("ADODB.Recordset")
ReqInsert.Open NomTab, DataBase, 3,3
ReqInsert.AddNew            
ReqInsert.Fields (champ1) = Valeur1
ReqInsert.Fields (champ2) = Valeur2
...
ReqInsert.Update			        
ReqInsert.Close
set ReqInsert = nothing
 
' Solution 3 :
DataBase.Execute (INSERT INTO table (champ1, champ2, ...) VALUES ('Valeur1','Valeur2',...))
et je voudrais savoir aussi , si l'ordre d'insertion des champs dans les requetes INSERT est important

d'avance merci
bgd76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 12h25   #2
Membre actif
 
Inscription : novembre 2003
Messages : 236
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2003
Messages : 236
Points : 159
Points : 159
Je pense que les 3 methodes seront aussi rapide l'une que l'autre pour la bdd en tout cas.

En ce qui conecerne l'application c'est p-t autre chose.

Mais il existe des outils pour analyser les requettes qui sont envoyées au serveur avec leurs temps d'execution...

A+
Dokho1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 11h21   #3
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Bonjour

Les trois methodes ne sont pas équivalente. Je sais que la première est conseillée, justement pour des histoires de performances. (en précisant, je suppose :
[CODE]set
cmdTemp=server.createObject("adodb.command")[CODE]
Perso, j'utilise ... la deuxième !

Pas pour les performances, mais la maintenance est plus aisée.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 11h24   #4
Invité de passage
 
Inscription : mai 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 8
Points : 0
Points : 0
Merci à tous pour vos réponses
bgd76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 12h03   #5
Membre actif
 
Inscription : novembre 2003
Messages : 236
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2003
Messages : 236
Points : 159
Points : 159
Citation:
Envoyé par roro06
Bonjour

Les trois methodes ne sont pas équivalente. Je sais que la première est conseillée, justement pour des histoires de performances. (en précisant, je suppose :
[CODE]set
cmdTemp=server.createObject("adodb.command")[CODE]
Perso, j'utilise ... la deuxième !

Pas pour les performances, mais la maintenance est plus aisée.
La question est par rapport à la DB. Donc pour moi le temps d'insert sur le serveur de DB sont equivalent je pense.

En ce qui concerne les performance par rapport au methode utililsée c'est autre chose. Je me prononcerais pas la dessus. mais ce que je fais en general pour savoir cela, j'execute la meme commande x fois (genre 1000) et je regarde les temps fais par les differentes methodes.

Perso, moi j'utililsait la 3eme pour les insert,update et delete. Et la 2eme methode pour les select.

A+
Dokho1000 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 08h10.


 
 
 
 
Partenaires

Hébergement Web