Archivos de la categoría mysql

Procedure de estadísticas que haga un INSERT o un UPDATE (II)

MySQL_Stored_Procedure_ProgrammingComo vimos en la entrada anterior, creamos una stored procedure para hacer el incremento típico de unas estadísticas.

Pero se puede dar el caso, de que se quieren incremenetar una serie de registros a la vez. Por poner otro ejemplo, tenemos una tabla de tags, donde se almacenan las veces que son asignadas a una entrada. Cuando se crea una entrada, hay que incrementar todas las tags que tiene la entrada asignadas.

Sigue leyendo Procedure de estadísticas que haga un INSERT o un UPDATE (II)

Procedure de estadísticas que haga un INSERT o un UPDATE (I)

MySQL_Stored_Procedure_ProgrammingLa típica tabla de estadísticas, tiene una serie de registros, donde se almacenan valores que se van incrementando: visitas, votos, puntos, … Para la operación de incrementar las estadísticas, tenemos que contemplar dos casos:

  • Si no existen estadísticas sobre este registro, se tiene que crear el registro en la tabla de estadísticas con un INSERT
  • Si ya existen estadísticas, se tiene que incremenetar el valor del registro de la tabla de estadísticas con un UPDATE

Hay tres opciones a la hora de programar el sistema que incremente las estadísticas en MySQL Sigue leyendo Procedure de estadísticas que haga un INSERT o un UPDATE (I)

STRAIGHT_JOIN y el order de las tablas en JOINs de MySQL

High Performance MySQLSegún leo en un artículo, el optimizador de JOINs de MySQL puede cambiar el orden en que se realizan los JOINs.

Al autor del artículo, las consultas de una aplicación le tardaban casi un minuto. Después de buscar una solución, decubrió que poniendo “SELECT STRAIGHT_JOIN …“, obligaba a MySQL a tratar las tablas de los JOINs en el orden en que se establecían, es decir, primero la de la izquierda y después la de la derecha.

Sigue leyendo STRAIGHT_JOIN y el order de las tablas en JOINs de MySQL