Buenas prácticas y tutoriales

N1QL (Consulta) Orden básico de ejecución.

La sintaxis de las consultas es limitada. Las consultas son ilimitadas.

Predicado pushdown, agrupar por pushdown, paginación offset, paginación de teclas, optimización de la unión, optimización de la búsquedaya hemos hablado de todo. Aun así, es importante entender el flujo de ejecución de la consulta por defecto, sencillo, aunque lento.

Lukas Eder ha explicado el orden real de ejecución de SQL. Dado que N1QL se inspira en SQL y lo sigue de cerca, esa explicación también es válida aquí. Recomiendo encarecidamente su lectura.

Con N1QL, puede utilizar la explicación visual para ver la estructura del plan y el flujo de datos. Esta es una manera fácil de entender el orden de ejecución antes de optimizar el rendimiento mediante la creación de índices. He usado el ejemplo de recorrido incorporado y por lo tanto forzado el escaneo primario con la sugerencia USE INDEX.

Este es el plan visual. La ejecución del plan y el flujo de datos es ascendente. Comienza con el escaneo del índice primario y un escaneo del índice secundario, termina con el operador de paginación LIMIT antes de devolver los resultados a la aplicación.

La explicación visual es interactiva. Puede hacer clic en cada operador para ver los parámetros establecidos para ese operador por el optimizador, como se muestra para algunos de los operadores a continuación.

El plan de consulta comienza con esto, lógicamente. Cada optimización por encima de esto es pensada por personas/herramientas y seleccionada por el optimizador para construir una máquina de flujo de datos para cada consulta. El objetivo del optimizador es crear máquinas que hagan el menor trabajo posible y, aún así, ofrezcan los resultados correctos.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Keshav Murthy

Keshav Murthy es Vicepresidente de Couchbase R&D. Anteriormente, estuvo en MapR, IBM, Informix, Sybase, con más de 20 años de experiencia en diseño y desarrollo de bases de datos. Dirigió el equipo de I+D de SQL y NoSQL en IBM Informix. Ha recibido dos premios President's Club en Couchbase y dos premios Outstanding Technical Achievement en IBM. Keshav es licenciado en Informática e Ingeniería por la Universidad de Mysore (India), es titular de diez patentes estadounidenses y tiene tres pendientes.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.