sql >> Base de Datos >  >> RDS >> Mysql

¿Consulta MySQL recursiva?

MySQL no admite consultas recursivas.

Le sugiero que consulte la presentación de Bill Karwin. donde compara cuatro modelos diferentes para almacenar datos jerárquicos y analiza sus ventajas y desventajas:

  • Lista de adyacencias
  • Enumeración de rutas
  • Conjuntos anidados
  • Mesa de cierre

La diapositiva 48 muestra la dificultad relativa de ciertos tipos de consultas con cada uno de los modelos. Según su pregunta, parece que está más interesado en el "subárbol de consulta", para el cual la lista de adyacencia (el modelo que está utilizando actualmente) tiene el peor rendimiento de los cuatro.

Alternativamente, si solo desea seleccionar todo el árbol, como en todos los datos de la tabla, puede usar la consulta simple SELECT * FROM yourtable y reconstruir la estructura de árbol en el cliente.