Skip site navigation (1) Skip section navigation (2)

Re: Test performance

From: "Damien Griessinger" <dgriessinger(at)free(dot)fr>
To: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Test performance
Date: 2005-12-06 15:57:40
Message-ID: E1EjfBE-00021l-4Y@smtp4.mail.easynet.fr (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Bonjour,

 

Votre SELECT va utiliser la méthode seq scan ( sequential scan ), ce qu’il
vous faut, c’est un index, pour s’en convaincre, faite un EXPLAIN

 

EXPLAIN select * from benchmark1 where key1 like '%"+GetRandomString(40)+"

 

>> ca doit retourner quelque chose comme seq scan ………………

 

 

Pour créer l’index :

 

CREATE INDEX idx_benchmark1_key2 ON benchmark1(key2);

 

Et un petit 

 

VACUUM ANALYZE benchmark1 ;

 

 

Pour les insertions, ça doit être a cause d’une transaction, mettez un
COMMIT de temps en temps, genre tous les 1000 enregistrements, pour alléger
la charge.

 

 


Cordialement,

Damien Griessinger

 

 

  _____  

De : pgsql-fr-generale-owner(at)postgresql(dot)org
[mailto:pgsql-fr-generale-owner(at)postgresql(dot)org] De la part de Pascal SERENT
Envoyé : mardi 6 décembre 2005 14:45
À : pgsql-fr-generale(at)postgresql(dot)org
Objet : [pgsql-fr-generale] Test performance

 


Bonjour à tous, 

J'ai effectué un petit test de performance de PostgreSQL 8.1 qui est
installé sur machine Windows. 
Pour cela j'ai créé un table comme ceci : 

CREATE TABLE benchmark1 
( 
  id int4 NOT NULL, 
  key1 varchar(50), 
  texte varchar(200), 
  CONSTRAINT benchmark1_pkey PRIMARY KEY (id) 
) 
WITHOUT OIDS; 

A l'aide d'un script j'ai inséré 1million d'enregistrement. 
Deja lors de l'insertion j'ai remarqué des lenteurs lors de l'insertion (au
bout d'un certain nombre, ca devient de plus en plus lent). 
Mais bon l'insertion n'est pas critique pour moi, ce qui compte c'est la
rapidité lors de la consultation. 

Ensuite, j'effectue  une requete comme ceci : 

select * from benchmark1 where key1 like '%"+GetRandomString(40)+" 

Je mesure le temps de réponse et en moyenne (sur une centaine de requete)
j'obtient 2,5 secondes pour avoir le résultat. 
Cela me parait excessif ! 
Qu'en pensez-vous ? 
Est-ce que ma table est "faite" comme il faut ? 
Que faudrait-il faire pour augmenter les performances ? 

Merci d'avance de m'éclairer sur ce point. 

Pascal 

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Pascal Serent
BLM Technologies
Ingénieur Développement Logiciel
Tel : 03 28 33 11 11
Mail : p(dot)serent(at)blm-technologies(dot)fr
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

(Signature ajoutée par FELICEE)

In response to

Responses

pgsql-fr-generale by date

Next:From: david techerDate: 2005-12-06 16:01:37
Subject: Re: Test performance
Previous:From: Vladimir DimitrovDate: 2005-12-06 15:19:03
Subject: Re: Test performance

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group