Re: [pgsql-es-ayuda] Fwd: Optimización de PostgreSQL

From: Joel Bullon <jbullon(dot)sjd(at)gmail(dot)com>
To: Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>, edomax(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Fwd: Optimización de PostgreSQL
Date: 2014-05-22 15:05:59
Message-ID: CADwP3p2N0yc8iyqpCUPemu+eow-j5irLFCev7U2AERQu43hn9A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ante todo gracias a los dos por contestar.

La tabla es un volcado que hice mediante ODBC del Access al PGSQL y una vez
volcada creé un indice de la primary key.

Hasta ahora con Access habiamos funcionado muy bien (grupo de 6 personas
trabajando contra la misma base) pero según las tablas van creciendo
de tamaño están empezando a haber colisiones y el sistema comienza a ser
inestable. Es por ello que hemos pensado de seguir trabajando con el
frontend en access y con backend el postgreSQL enlazado con ODBC.

La idea es que los usuarios sigan trabajando en Access mientras traspasamos
el frontend a asp net o php.

Pensamos en la idea de PostgreSQL por la relación precio/potencia pero es
lo que no acabo de entender. Como puede ser que la misma tabla, en la
misma maquina y la misma versión de PGSQL en linux me tarde 48 s y en W7
9.916 s. si con la configuración de serie es mas que suficiente
que debería configurar para que PGSQL sea mas rápido?

Gracias y un Saludo

El 22 de mayo de 2014, 15:54, Sergio Valdes Hurtado
<svh(dot)pgsql(at)gmail(dot)com>escribió:

> Joel,
> debes tener en cuenta que una vez que hiciste la consulta en access, esta
> queda grabada (una especie da tabla) y luego cuando vuelves a usar la misma
> consulta con los mismos parametros, te muestra los datos grabados y no la
> consulta directa al motor de datos y por eso la velocidad de ejecución de
> tu consulta.
>
> Esto queda mas claro cuando se consulta acerca de los límites que tiene
> Access, y por ejemplo en la cantidad máxima de registros advierte que se
> deben contar no sólo los datos de las tablas, sino que los de las consultas
> que están grabadas.
>
>
> Recuerda que Acces no es un motor de datos, sino que un framwork para
> acceder a un motor de datos interno (creo que se llama JetDb o algo asi).
>
> En todo caso debes analizar que es lo que realmente necesitas, ya que si
> tu base de datos es pequeña y necesitas que los resultados de tus consultas
> sean asi de rápido, tal vez access sea tu opción, pero si necesitas algo
> realmente robusto y profesional y que te permita mirar a futuro en forma
> tranquila y segura, y que tal vez debas sacrificar algunos milisegundos de
> tiempo de respuesta, obviamente tu opción es Postgresql.
>
> Esa es mi opinion, y espero no molestar a nadie.
>
> Saludos,
>
>
>
> El 22 de mayo de 2014, 3:53, Joel Bullon <jbullon(dot)sjd(at)gmail(dot)com> escribió:
>
>> Muy buenas ante todo me presento soy Jota y el motivo de mi llegada a
>> este lista ha sido por pruebas que estoy haciendo para una migración de una
>> BBDD en Access a un SGBD más serio.
>>
>> Tengo un PC para hacer testeo de la base de datos con las siguientes
>> características técnicas
>>
>> Procesador Intel Core 2 Duo CPU e4500 2.2GHz
>> 2 GB de RAM
>> 120 GB de disco repartido en 3 particiones (3 x 40)
>>
>> Esta máquina tiene instalada en una partición Windows 7 + PostgreSQL 9.3
>> y en la otra partición Xubuntu 12.04 + PostgreSQL 9.3.
>>
>> el hecho de tener el SGBD en dos SO diferentes es para ver cuál es mejor
>> opción.
>>
>> Al ejecutar una consulta típica en una tabla de 200.000 registros estos
>> son los resultados de tiempo.
>> SELECT * FROM tabla1;
>> Access--> me tarda alrededor de 2 segundos en mostrarme todos los
>> resultados
>> W7 + PSQL9.3 --> 9.916 s
>> Xubuntu + PSQL9.3 --> 48 s
>>
>> la verdad que para exportar de Access a PostgreSQL con estos resultados
>> no lo veo viable y tiene que haber algo que no hago bien pero mi nivel
>> novato no me deja ver.
>>
>> los parámetros que he cambiado en postgresql.conf son los siguientes:
>> en w7
>> shared_buffers = 512MB
>> work_mem = 5MB
>> maintenance_work_mem = 8MB
>> random_page_cost = 2.0
>> effective_cache_size = 1GB
>> enable_seqscan = on
>> default_statistics_target = 1000
>>
>> en Linux:
>> shared_buffers = 512MB
>> temp_buffers = 16MB
>> max_prepared_transactions = 0
>> work_mem = 64MB
>> maintenance_work_mem = 8MB
>> checkpoint_segments = 10
>> checkpoint_timeout = 1h
>> enable_indexscan = on
>> random_page_cost = 3.0
>> effective_cache_size = 512MB
>>
>> He leído varias entradas en blogs, foros y demás, no entiendo como es
>> posible que Access sea mucho más rápido en hacer una consulta y postgreSQL
>> me tarde tanto.
>>
>> A ver si podéis ayudarme con esta duda. Saludos y perdón por el tocho.
>>
>> --
>> Jota
>>
>
>
>
> --
> Sergio Valdés H.
>

--
Joel Bullón

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Lugo Porras 2014-05-22 15:42:45 Access vs Postgresql
Previous Message Yudiel 2014-05-22 13:51:32 ayuda backup automático en Windows