Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/03/2014, 06:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Too many tables MySQL can only use 61 tables in a join

Por lo pronto, hacer un JOIN con 140 tablas es una insensatez, si pretender ofender, porque de entrada asesinarás la performance y la capacidad del motor para responderte.
Resulta francamente difícil entender en qué contexto de qué sistema comercial (y conozco algunos muy grandes) puede necesitarse crear un JOIn de semejantes características.
Ahora bien, aclaremos que no es impensable tener que hacer una operación que deba tomar datos de 140 tablas (creo que en nuestros sistemas hay algunos casos peores), pero lo que seguro no se hace es hacer un único JOIN con esa cantidad de niveles.
Yo te sugeriría que primero nos dieras una idea de por qué llegas a tener que usar 140 tablas, como para visualziar cuál es el problema que origina una necesidad desmedida.
Por otro lado, como es imposible hacer una query semejante, la solución a nivel práctico pasa por transformar algunas partes del JOIN único en subconsultas, otras partes en vistas (VIEW), y otras en tablas temporary y volcar todo en un stored procedure.

Pero empieza por explicarnos de dónde salen y por qué llegas a necesitar una query con 140 tablas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)