{"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\/pt\/n1ql-query-basic-order-of-execution\/","title":{"rendered":"N1QL (Consulta) Ordem b\u00e1sica de execu\u00e7\u00e3o."},"content":{"rendered":"<blockquote><p>A sintaxe da consulta \u00e9 limitada. As consultas s\u00e3o ilimitadas.<\/p><\/blockquote>\n<p><a href=\"https:\/\/docs.couchbase.com\/server\/5.5\/performance\/index_pushdowns.html\">Empurramento de predicado<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/understanding-index-grouping-aggregation-couchbase-n1ql-query\/\">agrupar por pushdown<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/optimizing-database-pagination-using-couchbase-n1ql\/\">pagina\u00e7\u00e3o de deslocamento<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/offset-keyset-pagination-n1ql-query-couchbase\/\">pagina\u00e7\u00e3o do conjunto de teclas<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/ansi-join-support-n1ql\/\">otimiza\u00e7\u00e3o da uni\u00e3o<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-and-search-how-to-leverage-fts-index-in-n1ql-query\/\">otimiza\u00e7\u00e3o de pesquisa<\/a>J\u00e1 discutimos tudo isso. Ainda assim, \u00e9 importante entender o fluxo de execu\u00e7\u00e3o padr\u00e3o e simples - embora lento - da consulta.<\/p>\n<p>Lukas Eder explicou o <a href=\"https:\/\/blog.jooq.org\/2016\/12\/09\/a-beginners-guide-to-the-true-order-of-sql-operations\/\">ordem real de execu\u00e7\u00e3o do SQL<\/a>.  Como o N1QL \u00e9 inspirado no SQL e o segue de perto, essa explica\u00e7\u00e3o tamb\u00e9m se aplica aqui.  Recomendo muito a leitura.<\/p>\n<p>Com o N1QL, voc\u00ea pode usar a explica\u00e7\u00e3o visual para ver a estrutura do plano e o fluxo de dados. Essa \u00e9 uma maneira f\u00e1cil de entender a ordem de execu\u00e7\u00e3o antes de otimizar o desempenho por meio da cria\u00e7\u00e3o de \u00edndices.  Usei o exemplo de viagem incorporado e, portanto, forcei a varredura prim\u00e1ria com a dica USE INDEX.<\/p>\n<pre class=\"theme:github toolbar:1 whitespace-before:2 whitespace-after:2 lang:mysql decode:true\" title=\"Um exemplo 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\" (aeroporto.tipo = \"aeroporto\")\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\nLIMITE 10<\/pre>\n<p>Aqui est\u00e1 o plano visual.  A execu\u00e7\u00e3o do plano e o fluxo de dados s\u00e3o de baixo para cima. Come\u00e7a com uma varredura de \u00edndice prim\u00e1rio e uma varredura de \u00edndice secund\u00e1rio e termina com o operador de pagina\u00e7\u00e3o LIMIT antes de retornar os resultados para o aplicativo.<\/p>\n<p>A explica\u00e7\u00e3o visual \u00e9 interativa.  Voc\u00ea pode clicar em cada operador para ver os par\u00e2metros definidos para esse operador pelo otimizador, conforme mostrado para alguns dos operadores abaixo.<\/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>O plano de consulta come\u00e7a com isso, logicamente.  Todas as otimiza\u00e7\u00f5es que se seguem a isso s\u00e3o pensadas por pessoas\/ferramentas e selecionadas pelo otimizador para construir uma m\u00e1quina de fluxo de dados para cada consulta.  O objetivo do otimizador \u00e9 criar m\u00e1quinas que fa\u00e7am o m\u00ednimo de trabalho poss\u00edvel e ainda forne\u00e7am os resultados corretos.<\/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 v25.7.1 (Yoast SEO v25.7) - 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\/pt\/n1ql-query-basic-order-of-execution\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\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\/pt\/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\":\"pt-BR\",\"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\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/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\/pt\/n1ql-query-basic-order-of-execution\/","og_locale":"pt_BR","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\/pt\/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":"pt-BR","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":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/n1ql-query-basic-order-of-execution\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@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":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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":"pt-BR","@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 \u00e9 vice-presidente de P&amp;D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experi\u00eancia em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&amp;D de SQL e NoSQL na IBM Informix. Ele recebeu dois pr\u00eamios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o e Engenharia pela Universidade de Mysore, \u00cdndia, det\u00e9m onze patentes nos EUA e tem quatro patentes pendentes nos EUA.","sameAs":["https:\/\/blog.planetnosql.com\/","https:\/\/x.com\/rkeshavmurthy"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/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","first_name":"Keshav","last_name":"Murthy","user_url":"https:\/\/blog.planetnosql.com\/","author_category":"","description":"Keshav Murthy \u00e9 vice-presidente de P&amp;D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experi\u00eancia em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&amp;D de SQL e NoSQL na IBM Informix. Recebeu dois pr\u00eamios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o e Engenharia pela Universidade de Mysore, \u00cdndia, det\u00e9m dez patentes nos EUA e tem tr\u00eas patentes pendentes nos EUA."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=7021"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7021\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/7028"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=7021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=7021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=7021"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=7021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}