{"id":2979,"date":"2017-03-27T10:20:03","date_gmt":"2017-03-27T17:20:03","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2979"},"modified":"2025-06-13T20:20:24","modified_gmt":"2025-06-14T03:20:24","slug":"performance-enhancements-n1ql-couchbase-5-developer","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/performance-enhancements-n1ql-couchbase-5-developer\/","title":{"rendered":"Aprimoramentos de desempenho do N1QL no Couchbase 5.0 March Developer Build"},"content":{"rendered":"<p>O N1QL no Couchbase percorreu um longo caminho desde que foi introduzido pela primeira vez no Couchbase Server 4.0.  No Couchbase 5.0, as coisas foram levadas para o pr\u00f3ximo n\u00edvel em termos de desempenho.  Na vers\u00e3o para desenvolvedores de mar\u00e7o de 2017 do Couchbase 5.0, h\u00e1 aprimoramentos de desempenho para o N1QL na proje\u00e7\u00e3o de \u00edndice, aprimoramentos para <code>CONTAGEM<\/code> e\u00a0<code>DISTINTO<\/code>e o t\u00e3o solicitado\u00a0<code>ORDER BY<\/code>,\u00a0<code>LIMITE<\/code>e\u00a0<code>DESLOCAMENTO<\/code> operadores.<\/p>\n<p>Ent\u00e3o, o que foi feito especificamente para aprimorar todas essas \u00e1reas e como podemos aproveitar as mudan\u00e7as?<\/p>\n<p><!--more--><\/p>\n<p>Vejamos a proje\u00e7\u00e3o do \u00edndice, por exemplo.  Ao criar um \u00edndice, voc\u00ea pode criar um com qualquer n\u00famero de propriedades.  Por exemplo, considere o seguinte \u00edndice:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">CREATE INDEX idx ON default(type, firstname, lastname);<\/pre>\n<p>A instru\u00e7\u00e3o acima criar\u00e1 um \u00edndice de cobertura no\u00a0<code>padr\u00e3o<\/code> Balde para o\u00a0<code>tipo<\/code>, <code>primeiro nome<\/code>e\u00a0<code>sobrenome<\/code> propriedades de um determinado documento.<\/p>\n<p>Agora, digamos que criamos a seguinte consulta N1QL para recuperar alguns documentos com o par\u00e2metro\u00a0<code>idx<\/code> que hav\u00edamos criado:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">SELECT firstname\r\nFROM default\r\nWHERE type = 'person'<\/pre>\n<p>A consulta acima usaria o\u00a0<code>idx<\/code> e retornar apenas o \u00edndice\u00a0<code>primeiro nome<\/code>\u00a0para cada documento correspondente.  O conceito de consulta dessa forma n\u00e3o \u00e9 novo, no entanto, o que acontece nos bastidores mudou.  Voc\u00ea notar\u00e1 que, embora nosso \u00edndice tenha muitas chaves, estamos interessados apenas em um subconjunto ou, neste caso, em duas chaves.<\/p>\n<p>Ent\u00e3o, o que est\u00e1 acontecendo e por que isso \u00e9 importante?<\/p>\n<p>Nas vers\u00f5es anteriores do Couchbase, todas as chaves do \u00edndice eram levadas em considera\u00e7\u00e3o, independentemente de apenas um subconjunto ser usado.  Como resultado, eram necess\u00e1rios mais rede, CPU e mem\u00f3ria para acomodar o que estava acontecendo.  Agora, esse n\u00e3o \u00e9 o caso.<\/p>\n<p>Ent\u00e3o, como voc\u00ea sabe que a proje\u00e7\u00e3o de \u00edndice est\u00e1 acontecendo?<\/p>\n<p>Fa\u00e7a um\u00a0<code>EXPLICAR<\/code> na consulta que voc\u00ea est\u00e1 executando:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">EXPLAIN SELECT firstname\r\nFROM default\r\nWHERE type = 'person'<\/pre>\n<p>Nos resultados, voc\u00ea dever\u00e1 ver algo relacionado a\u00a0<code>index_projection<\/code> que se parece com o seguinte:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">...\r\n\"index_projection\": {\r\n    \"entry_keys\": [\r\n        0,\r\n        1\r\n    ]\r\n},\r\n...<\/pre>\n<p>O\u00a0<code>chaves_de_entrada<\/code> ser\u00e1 alterada com base em sua consulta.  Por exemplo, e se adicionarmos um\u00a0<code>ONDE<\/code> condi\u00e7\u00e3o assim?<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">SELECT firstname\r\nFROM default\r\nWHERE type = 'person' AND lastname = 'Nic'<\/pre>\n<p>No cen\u00e1rio acima, obter\u00edamos um\u00a0<code>EXPLICAR<\/code> resultado que se parece com o seguinte:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">...\r\n\"index_projection\": {\r\n    \"entry_keys\": [\r\n        0,\r\n        1,\r\n        2\r\n    ]\r\n},\r\n...<\/pre>\n<p>Agora, a consulta acima n\u00e3o foi uma proje\u00e7\u00e3o de \u00edndice porque usamos todas as chaves em nosso \u00edndice de cobertura.<\/p>\n<p>A cria\u00e7\u00e3o de \u00edndices adequados em conjunto com a proje\u00e7\u00e3o de \u00edndices pode realmente ajudar no desempenho geral e no dimensionamento do cluster do Couchbase Server.<\/p>\n<p>A proje\u00e7\u00e3o do \u00edndice n\u00e3o foi o \u00fanico aprimoramento de desempenho feito na compila\u00e7\u00e3o de mar\u00e7o de 2017, certo?  \u00c9 isso mesmo, h\u00e1 mais!<\/p>\n<p>Vamos pegar o\u00a0<code>COUNT(DISTINCT)<\/code> por exemplo.  Agora vamos usar essa opera\u00e7\u00e3o na consulta a seguir:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">EXPLAIN SELECT COUNT(DISTINCT type)\r\nFROM default;<\/pre>\n<p>Nos resultados, voc\u00ea notar\u00e1 que ele est\u00e1 usando\u00a0<code>IndexCountDistinctScan2<\/code> e o que ele est\u00e1 fazendo \u00e9 armazenar todos os\u00a0<code>tipo<\/code> no \u00edndice e processando os valores distintos.  Embora isso aconte\u00e7a no indexador no Couchbase 5.0, anteriormente acontecia no servi\u00e7o N1QL em edi\u00e7\u00f5es anteriores.  Ao transferir essa opera\u00e7\u00e3o para o indexador, podemos obter ganhos significativos de desempenho.<\/p>\n<p>Da mesma forma, pegue o\u00a0<code>DESLOCAMENTO<\/code>,\u00a0<code>LIMITE<\/code>e\u00a0<code>ORDER BY<\/code> operadores que podem ser usados em consultas N1QL.  Veja a consulta a seguir, por exemplo:<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">EXPLAIN SELECT firstname\r\nFROM default\r\nWHERE type = 'person'\r\nORDER BY firstname\r\nLIMIT 1\r\nOFFSET 1;<\/pre>\n<p>Voc\u00ea notar\u00e1 que o\u00a0<code>LIMITE<\/code>, <code>ORDER BY<\/code>e\u00a0<code>DESLOCAMENTO<\/code> aparecer\u00e3o no indexador.  Antes da vers\u00e3o 5.0, o <code>LIMITE<\/code> apareceu no indexador, mas agora os outros tamb\u00e9m aparecem.  Essa \u00e9 uma grande vit\u00f3ria, pois nas vers\u00f5es anteriores do Couchbase, se voc\u00ea compensasse os resultados, o N1QL obteria um n\u00famero X de resultados e descartaria tudo antes da compensa\u00e7\u00e3o.<\/p>\n<p>Para obter mais ajuda com o N1QL, consulte a se\u00e7\u00e3o <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.6\/getting-started\/try-a-query.html\" target=\"_blank\">Portal do desenvolvedor do Couchbase<\/a> que cont\u00e9m uma grande quantidade de documenta\u00e7\u00e3o \u00fatil para desenvolvedores.<\/p>","protected":false},"excerpt":{"rendered":"<p>N1QL in Couchbase has come a long way since it\u00a0was first introduced in Couchbase Server 4.0. \u00a0In Couchbase 5.0, things are taken to the next level in terms of performance. \u00a0In terms of the March 2017 Developer build of Couchbase [&hellip;]<\/p>","protected":false},"author":63,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,9417,1812],"tags":[1888,1891],"ppma_author":[9032],"class_list":["post-2979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-performance","category-n1ql-query","tag-5-0","tag-enhancement"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build<\/title>\n<meta name=\"description\" content=\"The Couchbase Server 5.0 Developer Edition, March 2017 build, brings many bug fixes including performance enhancements to the N1QL technology.\" \/>\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\/performance-enhancements-n1ql-couchbase-5-developer\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build\" \/>\n<meta property=\"og:description\" content=\"The Couchbase Server 5.0 Developer Edition, March 2017 build, brings many bug fixes including performance enhancements to the N1QL technology.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/performance-enhancements-n1ql-couchbase-5-developer\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/thepolyglotdeveloper\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-27T17:20:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:20:24+00:00\" \/>\n<meta name=\"author\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nraboy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/\"},\"author\":{\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1\"},\"headline\":\"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build\",\"datePublished\":\"2017-03-27T17:20:03+00:00\",\"dateModified\":\"2025-06-14T03:20:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/\"},\"wordCount\":563,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"5.0\",\"enhancement\"],\"articleSection\":[\"Couchbase Server\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/\",\"name\":\"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-03-27T17:20:03+00:00\",\"dateModified\":\"2025-06-14T03:20:24+00:00\",\"description\":\"The Couchbase Server 5.0 Developer Edition, March 2017 build, brings many bug fixes including performance enhancements to the N1QL technology.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build\"}]},{\"@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\/bb545ebe83bb2d12f91095811d0a72e1\",\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"caption\":\"Nic Raboy, Developer Advocate, Couchbase\"},\"description\":\"Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.\",\"sameAs\":[\"https:\/\/www.thepolyglotdeveloper.com\",\"https:\/\/www.facebook.com\/thepolyglotdeveloper\",\"https:\/\/x.com\/nraboy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/nic-raboy-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Aprimoramentos de desempenho do N1QL no Couchbase 5.0 March Developer Build","description":"O Couchbase Server 5.0 Developer Edition, vers\u00e3o de mar\u00e7o de 2017, traz muitas corre\u00e7\u00f5es de bugs, incluindo melhorias de desempenho na tecnologia N1QL.","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\/performance-enhancements-n1ql-couchbase-5-developer\/","og_locale":"pt_BR","og_type":"article","og_title":"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build","og_description":"The Couchbase Server 5.0 Developer Edition, March 2017 build, brings many bug fixes including performance enhancements to the N1QL technology.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/performance-enhancements-n1ql-couchbase-5-developer\/","og_site_name":"The Couchbase Blog","article_author":"https:\/\/www.facebook.com\/thepolyglotdeveloper","article_published_time":"2017-03-27T17:20:03+00:00","article_modified_time":"2025-06-14T03:20:24+00:00","author":"Nic Raboy, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@nraboy","twitter_misc":{"Written by":"Nic Raboy, Developer Advocate, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/"},"author":{"name":"Nic Raboy, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1"},"headline":"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build","datePublished":"2017-03-27T17:20:03+00:00","dateModified":"2025-06-14T03:20:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/"},"wordCount":563,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["5.0","enhancement"],"articleSection":["Couchbase Server","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/","url":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/","name":"Aprimoramentos de desempenho do N1QL no Couchbase 5.0 March Developer Build","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-03-27T17:20:03+00:00","dateModified":"2025-06-14T03:20:24+00:00","description":"O Couchbase Server 5.0 Developer Edition, vers\u00e3o de mar\u00e7o de 2017, traz muitas corre\u00e7\u00f5es de bugs, incluindo melhorias de desempenho na tecnologia N1QL.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/performance-enhancements-n1ql-couchbase-5-developer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Performance Enhancements to N1QL in the Couchbase 5.0 March Developer Build"}]},{"@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\/bb545ebe83bb2d12f91095811d0a72e1","name":"Nic Raboy, defensor dos desenvolvedores, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354","url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","caption":"Nic Raboy, Developer Advocate, Couchbase"},"description":"Nic Raboy \u00e9 um defensor das modernas tecnologias de desenvolvimento m\u00f3vel e da Web. Ele tem experi\u00eancia em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experi\u00eancias de desenvolvimento relacionadas a tornar o desenvolvimento m\u00f3vel e da Web mais f\u00e1cil de entender.","sameAs":["https:\/\/www.thepolyglotdeveloper.com","https:\/\/www.facebook.com\/thepolyglotdeveloper","https:\/\/x.com\/nraboy"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/nic-raboy-2\/"}]}},"authors":[{"term_id":9032,"user_id":63,"is_guest":0,"slug":"nic-raboy-2","display_name":"Nic Raboy, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","author_category":"","last_name":"Raboy","first_name":"Nic","job_title":"","user_url":"https:\/\/www.thepolyglotdeveloper.com","description":"Nic Raboy \u00e9 um defensor das modernas tecnologias de desenvolvimento m\u00f3vel e da Web. Ele tem experi\u00eancia em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experi\u00eancias de desenvolvimento relacionadas a tornar o desenvolvimento m\u00f3vel e da Web mais f\u00e1cil de entender."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2979","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\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2979"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2979\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2979"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}