Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
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 09/05/2007, 16h09   #1
Membre régulier
 
Homme dieudonné madishon ngaya
Administrateur de base de données
Inscription : août 2003
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme dieudonné madishon ngaya
Âge : 48
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : août 2003
Messages : 148
Points : 89
Points : 89
Par défaut [ASE 12.5.4] performance

Bonjour,
Je suis entrain de faire des tests de performance sur une base de donnée installée sur ASE 12.5.4. actuellement, j'ai fait un set showplan on et un set fmtonly on sur une procedure stockée qui insert 3615000 de lignes .
je souhaite que quelqu'un m'explique que signifie les resultats ci-dessous car je n'ai pas beaucoup de connaissance sur l'interpretation de showplan:

set showplan on
go
set fmtonly on
go


QUERY PLAN FOR STATEMENT 1 (at line 1).


STEP 1
The type of query is EXECUTE.


QUERY PLAN FOR STATEMENT 1 (at line 0).


STEP 1
The type of query is DECLARE.


QUERY PLAN FOR STATEMENT 2 (at line 3).


STEP 1
The type of query is COND.


QUERY PLAN FOR STATEMENT 3 (at line 5).


STEP 1
The type of query is INSERT.
The update mode is direct.

FROM TABLE
PERSONNE
Nested iteration.
Table Scan.
Forward scan.
Positioning at start of table.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
TO TABLE
Mytable
Using I/O Size 2 Kbytes for data pages.


QUERY PLAN FOR STATEMENT 4 (at line 7).


STEP 1
The type of query is SELECT.


QUERY PLAN FOR STATEMENT 5 (at line 0).


STEP 1
The type of query is GOTO.


QUERY PLAN FOR STATEMENT 1 (at line 0).


STEP 1
The type of query is DECLARE.


QUERY PLAN FOR STATEMENT 2 (at line 3).


STEP 1
The type of query is COND.


QUERY PLAN FOR STATEMENT 3 (at line 5).


STEP 1
The type of query is INSERT.
The update mode is direct.

FROM TABLE
PERSONNE
Nested iteration.
Table Scan.
Forward scan.
Positioning at start of table.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
TO TABLE
Mytable
Using I/O Size 2 Kbytes for data pages.


QUERY PLAN FOR STATEMENT 4 (at line 7).


STEP 1
The type of query is SELECT.


QUERY PLAN FOR STATEMENT 5 (at line 0).


STEP 1
The type of query is GOTO.

(return status = 0)


Cordialement.
dngaya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 16h25   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Voici la partie intéréssante:

Citation:
STEP 1
The type of query is INSERT.
The update mode is direct.

FROM TABLE
PERSONNE
Nested iteration.
Table Scan.
Forward scan.
Positioning at start of table.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
TO TABLE
Mytable
Using I/O Size 2 Kbytes for data pages.
Ce qui nous dit qu'on fait un insert dans la table Mytable à partir d'un select dans la table PERSONNE.
Le select fait un "table scan", cad traverse toute la table sans utiliser d'indexes.

Sans connaitre le code SQL exécuté on ne peux pas dire si ce plan est correcte ou pas (par example, est-ce qu'il y a une clause WHERE dans le SELECT ?)

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 16h34   #3
Membre régulier
 
Homme dieudonné madishon ngaya
Administrateur de base de données
Inscription : août 2003
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme dieudonné madishon ngaya
Âge : 48
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : août 2003
Messages : 148
Points : 89
Points : 89
Merci de la reponse:
Ce qui la proc. n'a pas de clause where et il n'ya pas d'index .
voici ci-dessous la proc. en question:
Code :
1
2
3
4
5
6
7
8
CREATE proc Mytable_insert @n int AS
while @n>0
begin
INSERT INTO Mytable(nom_personne,prenom_personne,telbureau_personne,teldomicile_personne,telmobile_personne,codepostal_personne,secure_id,enregistrement_personne) 
SELECT nom_personne,prenom_personne,telbureau_personne,teldomicile_personne,telmobile_personne,codepostal_personne,secure_id,enregistrement_personne FROM PERSONNE
SELECT  @n=@n -1
end
go
dngaya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 17h27   #4
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
Pas d'indexe et pas de clause WHERE - donc il n'y a rien à dire - le table scan est le plan ideal (et unique possible) dans ce contexte.

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h26.


 
 
 
 
Partenaires

Hébergement Web