Deficiencias en PostgreSQL!

Ing. Roberto Andrade Fonseca randrade en interservice.com.mx
Mie Ene 19 09:32:43 CST 2000


Hola:

Para revisar la velocidad de Postgresql, hice lo siguiente:

1. Generé la db 'titipichal'.   
2. Generé la tabla 'titipuchal'.

create table titipuchal (
entero          int,
flotante        float,
texto           text
);     


3. Corrí el script llena_titi.pl:

-------------------------------
#!/usr/bin/perl -w
 
use strict;
use DBI;
use Date::Calc qw(:all);
 
my $i;
my $year1="2000";
my $month1="1";
my $day1="19";
my $hour1;
my $min1;
my $sec1;
my $year2="2000";
my $month2="1";
my $day2="19";
my $hour2;
my $min2;
my $sec2;
 
my $Dd;
my $Dh;
my $Dm;
my $Ds;
 
($hour1,$min1,$sec1) = Now();
 
 
my $dbname = 'titipuchal';
 
my $dbh = DBI -> connect("dbi:Pg:dbname=$dbname");
 
my $rv  = $dbh->do("DELETE FROM titipuchal;");
 
my $sql = "INSERT INTO titipuchal VALUES (?, ?, ?)";
 
my $sth = $dbh->prepare($sql);
 
print "Registros días horas minutos segundos\n";
print "-------------------------------------\n";
for ($i=1; $i < 10001; $i++) {
        #if ($i == 1000 || $i == 10000 || $i == 100000 || $i == 1000000) {
        if (($i/1000) == int($i/1000)) {
                ($hour2,$min2,$sec2) = Now();
                ($Dd,$Dh,$Dm,$Ds) = Delta_DHMS($year1,$month1,$day1,
$hour1,$min1,$sec1, $year2,$month2,$day2, $hour2,$min2,$sec2);
                print "$i        $Dd    $Dh     $Dm     $Ds \n";
        }
        #print "$i, $i, $i\n";
        $rv = $sth->execute($i, $i, $i);
}                                                           
-----------------------------------

El cual escribí a las 23:30, del 18 de enero, así que tengan clemencia del
estilo.

4. Resultados:

Registros días horas minutos segundos
-------------------------------------
1000        0    0     0     13
2000        0    0     0     24
3000        0    0     0     37
4000        0    0     0     48
5000        0    0     1     2
6000        0    0     1     18
7000        0    0     1     31
8000        0    0     1     47
9000        0    0     2     1
10000        0    0     2     13        

6. Equipo: Pentium II a 350 MHz, 32 MB en RAM, RH 6.1, postgres 6.5.3.

2 minutos y trece segundos para 10,000 registros nos da:

75 inserciones por segundo.

¿Lento, rápido o mediocre? 

Saludos,

Roberto Andrade Fonseca
randrade en abl.com.mx




-- 
Para desuscribirse, mande correo a: ayuda-unsubscribe en linux.org.mx
Para comandos adicionales, envíelo a: ayuda-help en linux.org.mx




Más información sobre la lista de distribución Ayuda