From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Carlos Andres Pizo <sgeneris(at)grex(dot)cyberspace(dot)org> |
Cc: | Ayuda sobre PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Error insercion por llave foranea |
Date: | 2006-09-08 21:22:04 |
Message-ID: | 20060908212204.GK5892@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Carlos Andres Pizo escribió:
> On Tue, 5 Sep 2006, Alvaro Herrera wrote:
> Hola:
>
> No, la senial no se envia cada segundo, es configurable y por ahora lo
> hace cada 3 minutos, pero eso no significa que la insercion sea cada 3
> minutos, pues al ser tantos vehiculos, la insercion se haria cada segundo
> y a veces son muchos registros y otras muy pocos; a veces la senial gps se
> cae, y los dispositivos almacenan los datos para enviarlos en cuanto se
> conecten de nuevo, cada dispositivo cuenta con 4 MB de memoria para
> almacenar dichos datos, asi que al conectarse de nuevo, la cantidad de
> regitros se crece bastante y las inserciones empiezan a consumir la carga
> de la maquina, ademas se estan efectuando continuamente consultas, pues
> cada cliente tiene una o varias aplicaciones a traves de la cual ven sus
> vehiculos.
Entiendo.
He oido de gente que tiene un problema similar, es decir, una tasa de
insercion que no es constante, sino que tiene picos muy altos en
momentos aleatorios. Una manera en que se que se puede aliviar es
almancenar los datos en un archivo simple y tener un daemon que vaya
leyendo de ahi e insertando en la BD PostgreSQL. De este modo no
retrasas la llegada de nuevos datos desde los dispositivos, y permites
que la carga sobre el servidor Postgres se distribuya mas uniformemente.
> Saltandome un poco del tema, quisiera saber que tan verdad es esto: he
> escuchado varias veces que al realizar una consulta en una tabla con un
> campo tipo fecha, es mas rapido si se efectua con > y < que con un
> BETWEEN, es decir, por ejemplo si hago SELECT * FROM esquema.tabla WHERE
> fecha > '2006-08-08 00:00:00' AND fecha < '2006-09-08 23:59:59'; es mas
> rapida la consulta que si hago SELECT * FROM esquema.tabla WHERE fecha
> BETWEEN '2006-08-08 00:00:00' AND '2006-09-08 23:59:59';
No; es exactamente lo mismo.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Quilca | 2006-09-09 00:42:21 | Autenticación con md5 |
Previous Message | Alvaro Herrera | 2006-09-08 21:17:07 | Re: Compilación de Postgres con Visual Estudio C++ |