Agilizando consultas con PHP a bases PostgreSQL…

phpEn los casos en que debemos manejar tablas PostgreSQL muy grandes, resulta conveniente crearles un índice.

Supongamos una tabla llamada marcaciones, que conserve los datos de la fecha y la hora a que marcó su tarjeta un trabajador, conjuntamente con su identificador (idtrabajador en nuestro ejemplo) y alguna cosilla más, de forma de poder relacionar al trabajador con otras informaciones de él almacenadas en una tabla de datos generales (por ejemplo: dirección, departamento, nivel escolar, etc.). En nuestro sistema en PHP

Una forma de crear el mencionado índice sería mediante la instrucción:

create unique index marcaciones_idx on marcaciones using btree (fecha,hora,idtrabajador);

en este caso indizamos por tres campos. Créanme que la diferencia de velocidad se nota.

Asimismo, podemos lograr con una sola instrucción que se haga una consulta  de modo que si cierto campo de una tabla tiene determinado valor, una variable asuma el resultado de una operación, y si tiene otro valor distinto, asuma el resultado de otra operación.  Esto es más complicado de explicar que de representar. Véase:

$divisado=($row[0]==”A”)? ($row[6]*coefa): ($row[6]*coefb);

Esta sintaxis la vi usar por primera vez a un colega destacado por la concisión de su código, y aún me asombra…

 

Esta entrada fue publicada en Software Libre. Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *