{"id":2413,"date":"2016-10-17T17:39:57","date_gmt":"2016-10-17T17:39:57","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2413"},"modified":"2025-10-09T07:21:00","modified_gmt":"2025-10-09T14:21:00","slug":"more-n1ql-enhancements-in-4-5-1-part2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/more-n1ql-enhancements-in-4-5-1-part2\/","title":{"rendered":"Aprimoramentos do N1QL na vers\u00e3o 4.5.1 - Parte 2"},"content":{"rendered":"<h2 style=\"text-align: center\"><u>Simplifique a transi\u00e7\u00e3o do RDBMS<\/u><\/h2>\n<p><span style=\"color: #333333;line-height: 20.799999237060547px;text-align: left\">A vers\u00e3o 4.5.1 do Couchbase Server traz v\u00e1rias melhorias de funcionalidade, usabilidade e desempenho no N1QL para atender \u00e0s necessidades dos aplicativos corporativos. Esses aprimoramentos abordam muitos dos problemas cr\u00edticos de nossos clientes e simplificam\u00a0<\/span><span style=\"color: #333333;line-height: 20.799999237060547px;text-align: left\">Transi\u00e7\u00e3o do RDBMS<\/span><span style=\"color: #333333;line-height: 20.799999237060547px;text-align: left\">.<\/span><\/p>\n<p>Experimente o Couchbase Server 4.5.1.  Est\u00e1 pronto para produ\u00e7\u00e3o, testado em campo por parceiros e clientes. Veja o que h\u00e1 de novo para obter a lista completa de aprimoramentos e melhorias.<\/p>\n<p>N\u00e3o perca\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-functionality-enhancements-in-couchbase-server-4.5.1\/\">parte1<\/a> do blog.<\/p>\n<h2>Nova configura\u00e7\u00e3o de consulta <code>bonito<\/code><\/h2>\n<p>Muito bonito!!! Muito bonito!!! <code>bonito<\/code>!!  Sim, <code>bonito<\/code> \u00e9 uma nova e impressionante configura\u00e7\u00e3o de consulta no N1QL que pode ativar ou desativar a formata\u00e7\u00e3o bonita dos resultados da consulta. Voc\u00ea pode se perguntar: o que h\u00e1 de t\u00e3o bom nisso? E por que algu\u00e9m pode querer desativar a bela formata\u00e7\u00e3o da sa\u00edda JSON.<\/p>\n<p>Como diz o velho ditado, n\u00e3o h\u00e1 almo\u00e7os gr\u00e1tis. A formata\u00e7\u00e3o bonita dos resultados da consulta tem suas pr\u00f3prias despesas:<\/p>\n<ol>\n<li>Primeiro, um fato r\u00e1pido \u00e9 que os caracteres de espa\u00e7o em branco (tabula\u00e7\u00f5es, espa\u00e7os, novas linhas) em um documento JSON bem formatado consomem quase um ter\u00e7o do seu tamanho.\n<ul>\n<li>Portanto, a simples redu\u00e7\u00e3o do embelezamento economizar\u00e1 todos os bytes brutos que fluem pela rede.<\/li>\n<li>Al\u00e9m disso, considere a economia correspondente nos recursos de mem\u00f3ria e processamento do servi\u00e7o N1QL.<\/li>\n<li>No total, a economia \u00e9 bastante significativa.<\/li>\n<\/ul>\n<\/li>\n<li>O formato de sa\u00edda bonito \u00e9 bom para cen\u00e1rios leg\u00edveis por humanos, com\u00a0<span style=\"color: #333333;line-height: 20.799999237060547px;text-align: left\">tamanhos de resultados gerenci\u00e1veis por humanos<\/span>.\n<ul>\n<li>No entanto, os aplicativos do mundo real e os programas de computador executam consultas com muito mais frequ\u00eancia do que os humanos e processam resultados de consultas muito maiores.<\/li>\n<li>Para eles, o que importa \u00e9 <strong>desempenho<\/strong> e <strong>efici\u00eancia<\/strong>n\u00e3o \u00e9 uma formata\u00e7\u00e3o bonita. Na verdade, essa formata\u00e7\u00e3o \u00e9 uma sobrecarga para o analisador e o aplicativo JSON, e geralmente \u00e9 descartada. Normalmente, os aplicativos t\u00eam sua pr\u00f3pria camada de apresenta\u00e7\u00e3o para formatar os dados adequadamente para os respectivos usu\u00e1rios.<\/li>\n<li>Por exemplo, considere um site de reservas de viagens, no qual voc\u00ea est\u00e1 pesquisando voos. Tenho certeza de que nenhum site de viagens despeja os voos dispon\u00edveis como um monte de documentos JSON.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>O novo par\u00e2metro de consulta <code>bonito<\/code> em 4.5.1 permite ativar\/desativar a formata\u00e7\u00e3o de um resultado de consulta.  O par\u00e2metro pode ser:<\/p>\n<ul>\n<li>definido como <code>verdadeiro<\/code> ou <code>falso<\/code>.<\/li>\n<li>Passado para o mecanismo CBQ como par\u00e2metros de linha de comando<\/li>\n<li>Passado como par\u00e2metro de consulta com chamadas REST.<\/li>\n<\/ul>\n<p>Por padr\u00e3o, ele \u00e9 definido como <code>verdadeiro<\/code>. Quando definido como <code>falso<\/code>os caracteres de espa\u00e7o em branco s\u00e3o retirados dos resultados da consulta. Os benef\u00edcios de desempenho s\u00e3o significativamente vis\u00edveis quando as consultas produzem resultados grandes e, \u00e9 claro, dependem da porcentagem de espa\u00e7o em branco em seus documentos. Por exemplo, a consulta a seguir, que seleciona todos os documentos de travel-sample, \u00e9 executada quase <strong>3x mais r\u00e1pido<\/strong> quando <code>pretty = false<\/code>. Al\u00e9m disso, observe o tamanho do conjunto de resultados, que \u00e9 um ter\u00e7o do resultado bem formatado.<\/p>\n<h2 style=\"margin-top: 0.7em;color: #333333;text-align: left\"><span style=\"font-family: monospace, monospace;line-height: 20.799999237060547px\">Com <code>pretty = true<\/code><\/span><\/h2>\n<pre><code class=\"language-http\">varakurprasad$ time curl -v https:\/\/localhost:8093\/query\/service -d \"pretty=true&amp;statement=SELECT * from `travel-sample`\" | tail -15\r\n* Hostname was NOT found in DNS cache\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying ::1...\r\n* Connected to localhost (::1) port 8093 (#0)\r\n* Server auth using Basic with user 'travel-sample'\r\n&gt; POST \/query\/service HTTP\/1.1\r\n&gt; Authorization: Basic dHJhdmVsLXNhbXBsZTpoZWxsbw==\r\n&gt; User-Agent: curl\/7.37.1\r\n&gt; Host: localhost:8093\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 51\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n} [data not shown]\r\n* upload completely sent off: 51 out of 51 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Content-Type: application\/json; version=1.6.0\r\n&lt; Date: Sat, 15 Oct 2016 02:04:09 GMT\r\n&lt; Transfer-Encoding: chunked\r\n&lt; \r\n{ [data not shown]\r\n100  103M    0  103M  100    51  16.6M      8  0:00:06  0:00:06 --:--:-- 17.2M\r\n* Connection #0 to host localhost left intact\r\n                ],\r\n                \"sourceairport\": \"TLV\",\r\n                \"stops\": 0,\r\n                \"type\": \"route\"\r\n            }\r\n        }\r\n    ],\r\n    \"status\": \"success\",\r\n    \"metrics\": {\r\n        \"elapsedTime\": \"6.165034483s\",\r\n        \"executionTime\": \"6.164993497s\",\r\n        \"resultCount\": 31591,\r\n        \"resultSize\": 107830610\r\n    }\r\n}\r\n\r\nreal 0m6.208s\r\nuser 0m5.704s\r\nsys 0m0.373s<\/code><\/pre>\n<h2 style=\"margin-top: 0.7em;color: #333333;text-align: left\"><span style=\"font-family: monospace, monospace;line-height: 20.799999237060547px\">Com\u00a0<code>pretty = false<\/code><\/span><\/h2>\n<p><span style=\"font-family: monospace, monospace;line-height: 20.799999237060547px\"><code>Observe que o total de <\/code><\/span>resultSize agora \u00e9 de apenas 36754457bytes, e a consulta foi executada em 2,2 segundos.<\/p>\n<pre style=\"cursor: default\"><code>varakurprasad$ time curl -v https:\/\/localhost:8093\/query\/service -d \"pretty=false&amp;statement=SELECT * from `travel-sample`\" | tail -5\r\n* Hostname was NOT found in DNS cache\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying ::1...\r\n* Connected to localhost (::1) port 8093 (#0)\r\n* Server auth using Basic with user 'travel-sample'\r\n&gt; POST \/query\/service HTTP\/1.1\r\n&gt; Authorization: Basic dHJhdmVsLXNhbXBsZTpoZWxsbw==\r\n&gt; User-Agent: curl\/7.37.1\r\n&gt; Host: localhost:8093\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 52\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n} [data not shown]\r\n* upload completely sent off: 52 out of 52 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Content-Type: application\/json; version=1.6.0\r\n&lt; Date: Sat, 15 Oct 2016 02:03:29 GMT\r\n&lt; Transfer-Encoding: chunked\r\n&lt; \r\n{ [data not shown]\r\n100 35.1M    0 35.1M  100    52  15.9M     23  0:00:02  0:00:02 --:--:-- 15.9M\r\n\r\n\"status\": \"success\",\r\n\"metrics\": {\"elapsedTime\": \"2.148354775s\",\"executionTime\": \"2.148323137s\",\"resultCount\": 31591,\"resultSize\": 36754457}\r\n}\r\n\r\nreal 0m2.223s\r\nuser 0m1.977s\r\nsys 0m0.141s<\/code><\/pre>\n<h2>Aprimoramentos na constru\u00e7\u00e3o de objetos din\u00e2micos em consultas N1QL<\/h2>\n<p>O N1QL j\u00e1 suporta a cria\u00e7\u00e3o de objetos JSON dinamicamente em consultas. Isso ajuda imensamente na cria\u00e7\u00e3o de objetos de resultados especificamente constru\u00eddos em listas de proje\u00e7\u00e3o de consultas. O servidor Couchbase 4.5.1 amplia o poder das express\u00f5es e enriquece a cria\u00e7\u00e3o din\u00e2mica de objetos e o processamento de objetos em consultas N1QL.<\/p>\n<ol>\n<li>No Couchbase Server 4.5.1, o N1QL permite que os nomes e os valores dos campos de objeto sejam express\u00f5es arbitr\u00e1rias. Nas vers\u00f5es anteriores, os nomes dos campos devem ser cadeias de caracteres est\u00e1ticas. Se um nome n\u00e3o for avaliado como uma cadeia de caracteres, o resultado da constru\u00e7\u00e3o do objeto ser\u00e1 NULL. Por exemplo:\n<pre><code class=\"language-sql\">SELECT { UPPER(callsign) || \"_key\" : callsign || \":\" || country || \":\" || name } AS myobj \r\nFROM `travel-sample`\r\nWHERE type = 'airline' limit 1;\r\n[\r\n  {\r\n    \"myobj\": {\r\n      \"MILE-AIR_key\": \"MILE-AIR:United States:40-Mile Air\"\r\n    }\r\n  }\r\n]<\/code><\/pre>\n<\/li>\n<li>Ao construir objetos em uma consulta N1QL, os nomes dos campos em pares nome-valor tornam-se opcionais no item 4.5.1. Por exemplo, a consulta a seguir atribui implicitamente os nomes \"type\" e \"name\" aos respectivos valores:\n<pre><code class=\"language-sql\">SELECT {type, name} AS myobj FROM `travel-sample` LIMIT 1;\r\n[\r\n  {\r\n    \"myobj\": {\r\n      \"type\": \"airport\"\r\n      \"name\": \"airport_123\"\r\n    }\r\n  }\r\n]<\/code><\/pre>\n<\/li>\n<\/ol>\n<h2>Nova fun\u00e7\u00e3o de matriz ARRAY_INTERSECT()<\/h2>\n<p>A fun\u00e7\u00e3o ARRAY_INTERSECT() recebe dois ou mais vetores como par\u00e2metros e retorna a interse\u00e7\u00e3o dos vetores de entrada como resultado, ou seja, o vetor que cont\u00e9m os valores presentes em todos os vetores de entrada. Ela retorna uma matriz vazia se n\u00e3o houver elementos de matriz comuns. Para obter mais informa\u00e7\u00f5es, consulte a documenta\u00e7\u00e3o. Por exemplo, a consulta a seguir encontra os hot\u00e9is de que Brian ou Lilian gostam, no bucket de amostra de viagens enviado com <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/\">Servidor Couchbase 4.5.1<\/a>.<\/p>\n<pre><code class=\"language-sql\">SELECT meta().id, ARRAY_INTERSECT(public_likes, [\"Brian Kilback\", \"Lilian McLaughlin\"]) AS likes\r\nFROM `travel-sample` WHERE type = 'hotel' \r\nORDER BY likes DESC\r\nLIMIT 4;\r\n[\r\n  {\r\n    \"id\": \"hotel_10025\",\r\n    \"likes\": [\r\n      \"Lilian McLaughlin\",\r\n      \"Brian Kilback\"\r\n    ]\r\n  },\r\n  {\r\n    \"id\": \"hotel_10026\",\r\n    \"likes\": []\r\n  },\r\n  {\r\n    \"id\": \"hotel_10064\",\r\n    \"likes\": []\r\n  },\r\n  {\r\n    \"id\": \"hotel_10063\",\r\n    \"likes\": []\r\n  }\r\n]<\/code><\/pre>\n<p>Baixar\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/\">Servidor Couchbase 4.5.1<\/a> e experimente. Informe-me se tiver alguma d\u00favida\/coment\u00e1rio ou se estiver achando o m\u00e1ximo ;-)<br \/>\nSa\u00fade!!!<\/p>","protected":false},"excerpt":{"rendered":"<p>Simplify Transitioning from RDBMS Couchbase Server 4.5.1 release brings multiple functionality, usability and performance improvements in N1QL to address needs of\u00a0enterprise applications. These enhancements address many of our customer critical issues, and simplify\u00a0Transitioning from RDBMS. Try Couchbase Server 4.5.1. \u00a0Its [&hellip;]<\/p>","protected":false},"author":2,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1812],"tags":[],"ppma_author":[8968],"class_list":["post-2413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-n1ql-query"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>N1QL enhancements in 4.5.1 - Part2 - 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\/more-n1ql-enhancements-in-4-5-1-part2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"N1QL enhancements in 4.5.1 - Part2\" \/>\n<meta property=\"og:description\" content=\"Simplify Transitioning from RDBMS Couchbase Server 4.5.1 release brings multiple functionality, usability and performance improvements in N1QL to address needs of\u00a0enterprise applications. These enhancements address many of our customer critical issues, and simplify\u00a0Transitioning from RDBMS. Try Couchbase Server 4.5.1. \u00a0Its [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/more-n1ql-enhancements-in-4-5-1-part2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-17T17:39:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:21:00+00:00\" \/>\n<meta name=\"author\" content=\"The Couchbase Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"The Couchbase Team\" \/>\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\/more-n1ql-enhancements-in-4-5-1-part2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"N1QL enhancements in 4.5.1 &#8211; Part2\",\"datePublished\":\"2016-10-17T17:39:57+00:00\",\"dateModified\":\"2025-10-09T14:21:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/\"},\"wordCount\":668,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/\",\"name\":\"N1QL enhancements in 4.5.1 - Part2 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-10-17T17:39:57+00:00\",\"dateModified\":\"2025-10-09T14:21:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#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\/more-n1ql-enhancements-in-4-5-1-part2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"N1QL enhancements in 4.5.1 &#8211; Part2\"}]},{\"@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\/764f4a6771ee19bc7af70b70a326fb93\",\"name\":\"The Couchbase Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"caption\":\"The Couchbase Team\"},\"description\":\"Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.\",\"sameAs\":[\"https:\/\/www.couchbase.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"N1QL enhancements in 4.5.1 - Part2 - 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\/more-n1ql-enhancements-in-4-5-1-part2\/","og_locale":"pt_BR","og_type":"article","og_title":"N1QL enhancements in 4.5.1 - Part2","og_description":"Simplify Transitioning from RDBMS Couchbase Server 4.5.1 release brings multiple functionality, usability and performance improvements in N1QL to address needs of\u00a0enterprise applications. These enhancements address many of our customer critical issues, and simplify\u00a0Transitioning from RDBMS. Try Couchbase Server 4.5.1. \u00a0Its [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/more-n1ql-enhancements-in-4-5-1-part2\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-10-17T17:39:57+00:00","article_modified_time":"2025-10-09T14:21:00+00:00","author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"N1QL enhancements in 4.5.1 &#8211; Part2","datePublished":"2016-10-17T17:39:57+00:00","dateModified":"2025-10-09T14:21:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/"},"wordCount":668,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/","url":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/","name":"N1QL enhancements in 4.5.1 - Part2 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-10-17T17:39:57+00:00","dateModified":"2025-10-09T14:21:00+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/more-n1ql-enhancements-in-4-5-1-part2\/#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\/more-n1ql-enhancements-in-4-5-1-part2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"N1QL enhancements in 4.5.1 &#8211; Part2"}]},{"@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\/764f4a6771ee19bc7af70b70a326fb93","name":"A equipe do Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3","url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","caption":"The Couchbase Team"},"description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/"}]}},"authors":[{"term_id":8968,"user_id":2,"is_guest":0,"slug":"jennifer-garcia","display_name":"The Couchbase Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","author_category":"","last_name":"Garcia","first_name":"Jennifer","job_title":"","user_url":"https:\/\/www.couchbase.com","description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2413","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2413"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2413\/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=2413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2413"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}