≡En resumen
- Query transformation es el paraguas: la reescritura y la expansión de consultas son dos de sus técnicas.
- En buscadores y RAG, transformar la consulta sirve para encontrar documentos más relevantes.
- En bases de datos, el optimizador transforma tu SQL en otro equivalente que se ejecuta más rápido, sin que lo notes.
- En Power Query, cada paso que aplicas a una tabla es una transformación que se guarda y se repite en cada actualización.
- En los tres casos la regla es la misma: cambiar la forma de la consulta sin cambiar lo que pide.
01 ¿Qué es la query transformation?
El término aparece en contextos técnicos distintos que comparten la misma idea. En recuperación de información y RAG, transformar la consulta es reformularla; en bases de datos, es lo que hace el optimizador con tu SQL; en herramientas de datos como Power Query, «transformación» es cada paso que limpia o da forma a una tabla. Conocer los tres evita malentendidos cuando alguien habla de «transformar la query».
02 Los tres usos de la transformación de consultas
| Contexto | Qué se transforma | Objetivo | Quién lo hace |
|---|---|---|---|
| Buscadores y RAG | La consulta en lenguaje natural | Recuperar documentos más relevantes | El buscador o un modelo de lenguaje |
| Bases de datos SQL | La sentencia SQL | Ejecutarla con un plan más eficiente, con el mismo resultado | El optimizador del motor |
| Preparación de datos (Power Query) | Los datos de origen mediante pasos | Limpiar y dar forma a una tabla para informes | El analista, con pasos grabados en M |
03 Transformación de consultas en buscadores y RAG
Reescritura
Sustituye la consulta por una versión corregida o reformulada. Es la técnica que explicamos en la ficha de query rewriting.
Expansión
Añade sinónimos o términos relacionados para no depender de las palabras exactas.
Descomposición
Divide una pregunta compleja en subpreguntas que se buscan por separado.
Step-back
Genera una pregunta más general que la original para recuperar contexto de fondo, además de la respuesta concreta.
Multiconsulta
Crea varias versiones de la misma pregunta y ejecuta todas en paralelo.
RAG-Fusion
Multiconsulta más una fusión de rankings (reciprocal rank fusion) que reordena los documentos recuperados.
El equipo de LangChain recogió en octubre de 2023 estas técnicas bajo el nombre de query transformations, y desde entonces es la etiqueta habitual en los frameworks de RAG. Las dos más antiguas vienen de la recuperación de información clásica: la reescritura de consultas y la expansión de consultas. La idea llega también a Google: el Modo IA divide una pregunta en subtemas y lanza varias búsquedas a la vez.
Un empleado pregunta al asistente de su empresa: «¿Puedo cargar como gasto el taxi al aeropuerto si el vuelo sale a las 6?». Una búsqueda literal en la intranet encuentra poco, porque ningún documento habla de taxis a las 6 de la mañana.
- Step-back: el sistema genera además «¿Qué dice la política de gastos de viaje sobre desplazamientos?» y recupera la política completa.
- Multiconsulta: lanza también «transporte al aeropuerto gastos reembolsables» y «horario nocturno taxi dietas».
- Fusión: combina los resultados, prioriza la política vigente y el modelo responde citando el apartado concreto.
Sin transformar la consulta, la respuesta habría sido «no encuentro información»; con ella, es una respuesta justificada con su fuente.
04 Transformación de consultas SQL en el optimizador
Cuando envías una sentencia SQL a una base de datos, el optimizador no la ejecuta tal cual. Primero la transforma en otra equivalente que abre más opciones de plan de ejecución y después elige la más barata. La documentación de Oracle Database 23 explica que el optimizador decide si usa cada transformación en función del coste; otros motores como SQL Server, PostgreSQL o MySQL aplican transformaciones parecidas con sus propios nombres.
| Transformación | Qué hace |
|---|---|
| OR expansion | Convierte una condición con OR en varias ramas unidas con UNION ALL para usar índices distintos |
| View merging | Integra la consulta de una vista en la consulta principal para considerar más órdenes de join |
| Predicate pushing | Empuja filtros de la consulta principal dentro de una vista que no se puede fusionar |
| Subquery unnesting | Convierte una subconsulta anidada en un join equivalente |
| Query rewrite con vistas materializadas | Responde con resultados precalculados si una vista materializada es compatible |
| Star transformation | Evita recorrer entera la tabla de hechos de un esquema en estrella |
Escribes: SELECT * FROM pedidos WHERE cliente_id IN (SELECT id FROM clientes WHERE pais = 'ES'). El optimizador puede tratarla como un join (en concreto, un semi-join) entre pedidos y clientes filtrado por país, y así decidir qué tabla leer primero y qué índice usar. El resultado es idéntico; el tiempo puede bajar de segundos a milisegundos en tablas grandes.
05 Transformaciones en Power Query
En el ecosistema de Microsoft, «query» es cada consulta de Power Query, el motor de preparación de datos de Excel, Power BI, Power Apps, Dataflows y Data Factory en Microsoft Fabric. Según Microsoft, Power Query registra las transformaciones como pasos de la consulta y los aplica al ejecutarla, sin modificar los datos de origen, y ofrece más de 350 tipos de transformaciones. Por debajo, todo se escribe en el lenguaje M.
-
1
Conecta con el origen
Un Excel de ventas, una base de datos SQL o una carpeta de CSV.
-
2
Aplica transformaciones
Quita columnas, filtra filas, cambia tipos, combina tablas, agrupa o despivota.
-
3
Revisa los pasos aplicados
Cada acción queda como un paso con nombre que puedes editar o borrar; el código M está en el editor avanzado.
-
4
Actualiza
Al refrescar, Power Query repite todos los pasos sobre los datos nuevos, sin trabajo manual.
Cuando el origen es una base de datos, Power Query intenta traducir esos pasos a SQL para que los ejecute el propio servidor. Ese mecanismo se llama query folding y es la unión entre las transformaciones de Power Query y las del optimizador SQL.
06 Buenas prácticas al transformar consultas
- ✓Define qué quieres mejorar (relevancia, velocidad o limpieza de datos) antes de elegir técnica.
- ✓En RAG, compara las respuestas con y sin transformación sobre un conjunto fijo de preguntas reales.
- ✓Limita el número de subconsultas: cada una añade latencia y coste en llamadas al modelo.
- ✓En SQL, escribe consultas claras y deja que el optimizador haga su trabajo; comprueba el plan antes de forzar hints.
- ✓En Power Query, filtra y quita columnas pronto para mantener el plegado de consultas.
- ✓Registra la consulta original y la transformada para poder depurar cuando algo falle.
Estas decisiones aparecen en proyectos muy distintos: un asistente que consulta la documentación interna, un panel de ventas o una aplicación que tarda demasiado en cargar un listado. Las abordamos en el desarrollo de aplicaciones web a medida y cuando ayudamos a automatizar procesos con IA conectando modelos de lenguaje a los datos de la empresa. Si el cuello de botella son consultas repetidas, revisa también la caché de consultas.
Preguntas frecuentes sobre Query transformation
Significa transformación de consultas: cualquier cambio automático que un sistema aplica a una consulta antes de ejecutarla, para buscar mejor, ejecutar más rápido o preparar los datos.
La transformación es la categoría general; la reescritura es una de sus técnicas, la que sustituye la consulta por una versión corregida o reformulada.
Las más habituales son la reescritura (Rewrite-Retrieve-Read), la pregunta step-back, la reescritura de preguntas de seguimiento, la multiconsulta y RAG-Fusion.
Sí. Motores como Oracle, SQL Server, PostgreSQL o MySQL transforman la sentencia en otra equivalente, por ejemplo convirtiendo subconsultas en joins, y eligen el plan más barato. El resultado es el mismo.
Es cada paso que aplicas a los datos en el editor de Power Query, como filtrar filas o cambiar tipos. Se graba en lenguaje M y se repite automáticamente en cada actualización.
El query folding es el mecanismo por el que Power Query traduce sus pasos de transformación a SQL para que los ejecute la base de datos de origen, en lugar de hacerlo en tu equipo. Une las transformaciones de Power Query con las del motor SQL.
No. Puede añadir ruido, latencia o coste. Conviene medir el efecto con consultas reales y aplicar solo las transformaciones que mejoren las métricas.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗