STRAIGHT_JOIN y el order de las tablas en JOINs de MySQL

In: mysql

28 jul 2009

51Q8pDAxS2L 228x300 STRAIGHT JOIN y el order de las tablas en JOINs de MySQLSegún leo en un artículo, el optimizador de JOINs de 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.

Según el manual de MySQL:

STRAIGHT_JOIN is similar to JOIN, except that the left table is always read before the right table. This can be used for those (few) cases for which the join optimizer puts the tables in the wrong order.

Entradas relacionadas:

  1. Función GROUP_CONCAT de MySQL
  2. Diferencias entre ENUM y SET en MySQL
  3. La selectividad de los índices en MySQL
  4. Diferencias entre mysql, mysqli y PDO en PHP
  5. MySQL: extraer los valores de un campo ENUM

Formulario de Comentario

Página 1 de 11