{"id":7021,"date":"2019-06-08T05:30:12","date_gmt":"2019-06-08T12:30:12","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7021"},"modified":"2025-06-13T23:42:51","modified_gmt":"2025-06-14T06:42:51","slug":"n1ql-query-basic-order-of-execution","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/n1ql-query-basic-order-of-execution\/","title":{"rendered":"N1QL (Consulta) Orden b\u00e1sico de ejecuci\u00f3n."},"content":{"rendered":"<blockquote><p>La sintaxis de las consultas es limitada. Las consultas son ilimitadas.<\/p><\/blockquote>\n<p><a href=\"https:\/\/docs.couchbase.com\/server\/5.5\/performance\/index_pushdowns.html\">Predicado pushdown<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/understanding-index-grouping-aggregation-couchbase-n1ql-query\/\">agrupar por pushdown<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/optimizing-database-pagination-using-couchbase-n1ql\/\">paginaci\u00f3n offset<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/offset-keyset-pagination-n1ql-query-couchbase\/\">paginaci\u00f3n de teclas<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/ansi-join-support-n1ql\/\">optimizaci\u00f3n de la uni\u00f3n<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql-and-search-how-to-leverage-fts-index-in-n1ql-query\/\">optimizaci\u00f3n de la b\u00fasqueda<\/a>ya hemos hablado de todo. Aun as\u00ed, es importante entender el flujo de ejecuci\u00f3n de la consulta por defecto, sencillo, aunque lento.<\/p>\n<p>Lukas Eder ha explicado el <a href=\"https:\/\/blog.jooq.org\/2016\/12\/09\/a-beginners-guide-to-the-true-order-of-sql-operations\/\">orden real de ejecuci\u00f3n de SQL<\/a>.  Dado que N1QL se inspira en SQL y lo sigue de cerca, esa explicaci\u00f3n tambi\u00e9n es v\u00e1lida aqu\u00ed.  Recomiendo encarecidamente su lectura.<\/p>\n<p>Con N1QL, puede utilizar la explicaci\u00f3n visual para ver la estructura del plan y el flujo de datos. Esta es una manera f\u00e1cil de entender el orden de ejecuci\u00f3n antes de optimizar el rendimiento mediante la creaci\u00f3n de \u00edndices.  He usado el ejemplo de recorrido incorporado y por lo tanto forzado el escaneo primario con la sugerencia USE INDEX.<\/p>\n<pre class=\"theme:github toolbar:1 whitespace-before:2 whitespace-after:2 lang:mysql decode:true\" title=\"Ejemplo de consulta N1QL\">SELECT hotel.name,\r\n       hotel.country,\r\n       COUNT(hr.ratings.Service) csr, \r\n       RANK() OVER(ORDER BY COUNT(hr.ratings.Service) ), \r\n       DENSE_RANK() OVER(ORDER BY COUNT(hr.ratings.Service))\r\nFROM `travel-sample` AS hotel USE INDEX (def_primary)\r\n    INNER JOIN `travel-sample` AS airport ON (hotel.country = airport.country) \r\n        LEFT OUTER  UNNEST hotel.reviews AS hr\r\nWHERE hotel.type = \"hotel\"\r\n    AND airport.type = \"airport\"\r\n    AND hr.ratings.Service &gt;= 4\r\nGROUP BY hotel.name,\r\n         hotel.country\r\nHAVING COUNT(hr.ratings.Service) &gt; 0\r\nORDER BY COUNT(hr.ratings.Service)\r\nOFFSET 0\r\nLIMIT 10<\/pre>\n<p>Este es el plan visual.  La ejecuci\u00f3n del plan y el flujo de datos es ascendente. Comienza con el escaneo del \u00edndice primario y un escaneo del \u00edndice secundario, termina con el operador de paginaci\u00f3n LIMIT antes de devolver los resultados a la aplicaci\u00f3n.<\/p>\n<p>La explicaci\u00f3n visual es interactiva.  Puede hacer clic en cada operador para ver los par\u00e1metros establecidos para ese operador por el optimizador, como se muestra para algunos de los operadores a continuaci\u00f3n.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7027 alignnone\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-300x168.png\" alt=\"\" width=\"789\" height=\"441\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-300x168.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-1024x574.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-768x430.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-1536x861.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM-1320x740.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.40.08-AM.png 2038w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7025 alignnone\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-300x129.png\" alt=\"\" width=\"787\" height=\"338\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-300x129.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-1024x439.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-768x330.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-1536x659.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM-1320x566.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.41.06-AM.png 2046w\" sizes=\"auto, (max-width: 787px) 100vw, 787px\" \/><\/a><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7024 alignnone\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-300x114.png\" alt=\"\" width=\"784\" height=\"298\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-300x114.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-1024x391.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-768x293.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-1536x586.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM-1320x503.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.42.06-AM.png 2048w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/a><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7022 alignnone\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-300x149.png\" alt=\"\" width=\"789\" height=\"392\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-300x149.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-1024x509.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-768x382.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-1536x763.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-20x10.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM-1320x656.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Screen-Shot-2019-06-08-at-4.43.06-AM.png 2040w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/a><\/p>\n<blockquote><p>El plan de consulta comienza con esto, l\u00f3gicamente.  Cada optimizaci\u00f3n por encima de esto es pensada por personas\/herramientas y seleccionada por el optimizador para construir una m\u00e1quina de flujo de datos para cada consulta.  El objetivo del optimizador es crear m\u00e1quinas que hagan el menor trabajo posible y, a\u00fan as\u00ed, ofrezcan los resultados correctos.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Query syntax is limited. Queries are unlimited. Predicate pushdown, group by pushdown, offset pagination, keyset pagination, join optimization, search optimization, we&#8217;ve discussed it all. Still, it&#8217;s important to understand the default, simple &#8212; albeit slow &#8212; execution flow of the [&hellip;]<\/p>","protected":false},"author":55,"featured_media":7028,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1812],"tags":[1572,2375,1725,1906,2376],"ppma_author":[8929],"class_list":["post-7021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-n1ql-query","tag-database","tag-explain","tag-nosql-database","tag-optimizer","tag-plan"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>N1QL (Query) Basic Order of Execution. - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql-query-basic-order-of-execution\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"N1QL (Query) Basic Order of Execution.\" \/>\n<meta property=\"og:description\" content=\"Query syntax is limited. Queries are unlimited. Predicate pushdown, group by pushdown, offset pagination, keyset pagination, join optimization, search optimization, we&#8217;ve discussed it all. Still, it&#8217;s important to understand the default, simple &#8212; albeit slow &#8212; execution flow of the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql-query-basic-order-of-execution\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-08T12:30:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:42:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1186\" \/>\n\t<meta property=\"og:image:height\" content=\"662\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Keshav Murthy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rkeshavmurthy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Keshav Murthy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\"},\"author\":{\"name\":\"Keshav Murthy\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\"},\"headline\":\"N1QL (Query) Basic Order of Execution.\",\"datePublished\":\"2019-06-08T12:30:12+00:00\",\"dateModified\":\"2025-06-14T06:42:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\"},\"wordCount\":258,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png\",\"keywords\":[\"database\",\"explain\",\"NoSQL Database\",\"Optimizer\",\"plan\"],\"articleSection\":[\"Best Practices and Tutorials\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\",\"name\":\"N1QL (Query) Basic Order of Execution. - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png\",\"datePublished\":\"2019-06-08T12:30:12+00:00\",\"dateModified\":\"2025-06-14T06:42:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png\",\"width\":1186,\"height\":662},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"N1QL (Query) Basic Order of Execution.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\",\"name\":\"Keshav Murthy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"caption\":\"Keshav Murthy\"},\"description\":\"Keshav Murthy is a Vice President at Couchbase R&amp;D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design &amp; development. He lead the SQL and NoSQL R&amp;D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, holds eleven US patents and has four US patents pending.\",\"sameAs\":[\"https:\/\/blog.planetnosql.com\/\",\"https:\/\/x.com\/rkeshavmurthy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/keshav-murthy\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"N1QL (Query) Basic Order of Execution. - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/n1ql-query-basic-order-of-execution\/","og_locale":"es_MX","og_type":"article","og_title":"N1QL (Query) Basic Order of Execution.","og_description":"Query syntax is limited. Queries are unlimited. Predicate pushdown, group by pushdown, offset pagination, keyset pagination, join optimization, search optimization, we&#8217;ve discussed it all. Still, it&#8217;s important to understand the default, simple &#8212; albeit slow &#8212; execution flow of the [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/n1ql-query-basic-order-of-execution\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-06-08T12:30:12+00:00","article_modified_time":"2025-06-14T06:42:51+00:00","og_image":[{"width":1186,"height":662,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png","type":"image\/png"}],"author":"Keshav Murthy","twitter_card":"summary_large_image","twitter_creator":"@rkeshavmurthy","twitter_misc":{"Written by":"Keshav Murthy","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/"},"author":{"name":"Keshav Murthy","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636"},"headline":"N1QL (Query) Basic Order of Execution.","datePublished":"2019-06-08T12:30:12+00:00","dateModified":"2025-06-14T06:42:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/"},"wordCount":258,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png","keywords":["database","explain","NoSQL Database","Optimizer","plan"],"articleSection":["Best Practices and Tutorials","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/","url":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/","name":"N1QL (Query) Basic Order of Execution. - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png","datePublished":"2019-06-08T12:30:12+00:00","dateModified":"2025-06-14T06:42:51+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/N1QL-Optimizer.png","width":1186,"height":662},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"N1QL (Query) Basic Order of Execution."}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636","name":"Keshav Murthy","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4","url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","caption":"Keshav Murthy"},"description":"Keshav Murthy es Vicepresidente de Couchbase R&amp;D. Anteriormente, estuvo en MapR, IBM, Informix, Sybase, con m\u00e1s de 20 a\u00f1os de experiencia en dise\u00f1o y desarrollo de bases de datos. Dirigi\u00f3 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\u00e1tica e Ingenier\u00eda por la Universidad de Mysore (India), es titular de once patentes estadounidenses y tiene cuatro pendientes.","sameAs":["https:\/\/blog.planetnosql.com\/","https:\/\/x.com\/rkeshavmurthy"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/keshav-murthy\/"}]}},"authors":[{"term_id":8929,"user_id":55,"is_guest":0,"slug":"keshav-murthy","display_name":"Keshav Murthy","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","author_category":"","last_name":"Murthy","first_name":"Keshav","job_title":"","user_url":"https:\/\/blog.planetnosql.com\/","description":"Keshav Murthy es Vicepresidente de Couchbase R&amp;D. Anteriormente, estuvo en MapR, IBM, Informix, Sybase, con m\u00e1s de 20 a\u00f1os de experiencia en dise\u00f1o y desarrollo de bases de datos. Dirigi\u00f3 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\u00e1tica e Ingenier\u00eda por la Universidad de Mysore (India), es titular de diez patentes estadounidenses y tiene tres pendientes."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=7021"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7021\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/7028"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=7021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=7021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=7021"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=7021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}