Leetcode SQL 185: ¿La mejor solución sigue siendo lenta?

Comparativa SQL: funciones de ventana frente a subconsultas para Department Top Three Salaries (LeetCode). Rendimiento en MySQL 8+, uso de DENSE_RANK y prácticas de optimización.

5 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

LeetCode SQL Optimización funciones de ventana vs subconsultas

Quienes practican en LeetCode conocen muy bien el reto 185 Department Top Three Salaries incluido en el Top SQL 50. La plataforma propone dos enfoques correctos para resolverlo y aquí comparamos su comportamiento en escenarios de datos reales con el objetivo de extraer conclusiones prácticas de rendimiento y mantenibilidad.

Comparativa de soluciones oficiales

Solución 1 método tradicional con subconsulta correlacionada. La idea es evaluar fila a fila cuántas personas del mismo departamento tienen un salario mayor que el empleado actual y conservar el registro solo si hay menos de 3 por encima. Funciona, pero implica múltiples evaluaciones y escaneos repetidos sobre la tabla de empleados.

Solución 2 método moderno con funciones de ventana. Se emplea DENSE_RANK con PARTITION BY por departamento y ORDER BY salario de forma descendente para asignar un rango por salario dentro de cada departamento y después se filtran los rangos menores o iguales a 3. Es concisa, fácil de leer y aprovecha optimizaciones del motor.

Prueba de rendimiento con datos de diez mil filas

Entorno de prueba. Se crean 10 departamentos y se insertan 1000 empleados por departamento generando 10000 filas. El conjunto incluye identificadores, nombres y salarios aleatorizados dentro de un rango típico de ejemplo. Con este volumen ya se aprecian diferencias sustanciales entre ambos enfoques.

Resultados. La consulta con DENSE_RANK se ejecutó en milisegundos, mientras que la versión con subconsulta correlacionada tardó más de 5 segundos. Esta brecha es inaceptable en sistemas de producción sensibles a la latencia o con alta concurrencia, y se agrava conforme crece el volumen de datos.

Por qué usar funciones de ventana en MySQL 8 en adelante

- Evitan escaneos y cálculos repetidos. Los patrones con subconsultas tienden a recalcular y a leer varias veces la misma información. Las funciones de ventana realizan los cálculos analíticos en un solo paso lógico.

- Reducen resultados intermedios y tablas temporales. Menos materialización se traduce en menor uso de memoria y disco, y en planes de ejecución más estables.

- Reutilizan cómputo por partición y orden. Bajo las mismas condiciones de PARTITION BY y ORDER BY, el motor puede compartir resultados y minimizar trabajo redundante.

SQLFLASH y la optimización automática

Herramientas de asistencia a SQL como SQLFLASH demuestran que, aunque haya variantes de sintaxis, el resultado es consistente y la versión con funciones de ventana suele ganar en claridad y velocidad. En contextos de inteligencia de negocio y analítica avanzada, esta clase de optimizaciones marca la diferencia.

Buenas prácticas adicionales

- Asegura índices adecuados en columnas de partición y filtrado como departmentId y salary para favorecer el plan de ejecución.

- Prefiere DENSE_RANK cuando necesites top N por grupos con salarios repetidos. Si lo que buscas es posiciones estrictas sin empates, RANK u otras funciones pueden encajar mejor.

- Valida con datos realistas. La prueba con 10000 filas muestra la diferencia, pero en tablas con millones el impacto es mucho mayor.

Cómo te ayuda Q2BSTUDIO

En Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida con foco en rendimiento, escalabilidad y seguridad. Integramos inteligencia artificial e ia para empresas en pipelines de datos, implementamos servicios inteligencia de negocio y cuadros de mando con power bi, y diseñamos arquitecturas eficientes en servicios cloud aws y azure. Si necesitas analítica de datos, optimización SQL o integración de agentes IA en tus procesos, nuestro equipo puede ayudarte a convertir la complejidad técnica en impacto real de negocio.

Si buscas un desarrollo sólido orientado a datos y rendimiento, descubre cómo impulsamos proyectos de software a medida y aplicaciones a medida con arquitecturas modernas visitando desarrollo de aplicaciones y software multiplataforma. Para potenciar reporting, modelos semánticos y gobierno del dato, explora nuestros servicios de inteligencia de negocio con Power BI.

Resumen y recomendaciones

1 Prioriza funciones de ventana siempre que tu motor las soporte. En MySQL 8 en adelante y en la mayoría de sistemas modernos son la opción superior para top N por partición, rankings, acumulados y comparativas entre filas.

2 La versión con DENSE_RANK ofrece claridad, mantenibilidad y mejoras de tiempo de ejecución medibles frente a subconsultas correlacionadas.

3 Acompaña con una estrategia integral de datos. Desde ciberseguridad y cumplimiento hasta automatización de procesos, tu plataforma debe ser consistente extremo a extremo. En Q2BSTUDIO cubrimos de forma transversal inteligencia artificial, ciberseguridad, agentes IA, power bi, servicios cloud aws y azure y automatización, para que el rendimiento SQL se traduzca en resultados sostenibles.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat