{"id":4841,"date":"2025-08-12T13:00:27","date_gmt":"2025-08-12T16:00:27","guid":{"rendered":"https:\/\/powertuning.com.br\/?p=4841"},"modified":"2025-08-12T14:02:35","modified_gmt":"2025-08-12T17:02:35","slug":"um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria","status":"publish","type":"post","link":"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/","title":{"rendered":"Um caso real de quando o tuning salva relat\u00f3rios e economiza mem\u00f3ria"},"content":{"rendered":"<p>Um cliente nos procurou reclamando de lentid\u00e3o extrema em um relat\u00f3rio. Ao nos conectarmos ao ambiente, consultamos o\u00a0<strong>Power Alerts,<\/strong>\u00a0nossa solu\u00e7\u00e3o de monitoramento, e percebemos que o relat\u00f3rio frequentemente apresentava o\u00a0<strong>wait type RESOURCE_SEMAPHORE<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4845\" data-permalink=\"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/attachment\/1754346723313\/\" data-orig-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723313.jpg\" data-orig-size=\"522,376\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"1754346723313\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723313.jpg\" class=\"alignnone size-medium wp-image-4845\" src=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723313-300x216.jpg\" alt=\"\" width=\"300\" height=\"216\" srcset=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723313-300x216.jpg 300w, https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723313.jpg 522w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Para quem n\u00e3o est\u00e1 familiarizado, esse tipo de espera ocorre quando uma thread precisa aguardar a libera\u00e7\u00e3o de mem\u00f3ria para iniciar a execu\u00e7\u00e3o de uma consulta. E foi esse detalhe que nos permitiu conduzir uma investiga\u00e7\u00e3o muito mais precisa.<\/p>\n<h3>A Descoberta<\/h3>\n<p>Durante a an\u00e1lise, identificamos que a consulta estava solicitando uma\u00a0<strong>concess\u00e3o de mem\u00f3ria de 49 GB<\/strong>. Agora imagine o impacto se essa mesma consulta fosse executada simultaneamente por 4 sess\u00f5es diferentes: estar\u00edamos falando de quase\u00a0<strong>200 GB de mem\u00f3ria<\/strong>\u00a0utilizados apenas para gerar um relat\u00f3rio. Um verdadeiro pesadelo para qualquer ambiente!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4843\" data-permalink=\"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/attachment\/1754346723129\/\" data-orig-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723129.jpg\" data-orig-size=\"531,554\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"1754346723129\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723129.jpg\" class=\"alignnone size-medium wp-image-4843\" src=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723129-288x300.jpg\" alt=\"\" width=\"288\" height=\"300\" srcset=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723129-288x300.jpg 288w, https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723129.jpg 531w\" sizes=\"auto, (max-width: 288px) 100vw, 288px\" \/><\/p>\n<p>Seguindo a investiga\u00e7\u00e3o, percebemos que o alto consumo de mem\u00f3ria estava sendo causado por uma opera\u00e7\u00e3o de\u00a0<strong>classifica\u00e7\u00e3o (sort)<\/strong>\u00a0dentro da consulta. Essa ordena\u00e7\u00e3o vinha de uma\u00a0<strong>VIEW<\/strong>, que realizava jun\u00e7\u00f5es com outras tabelas. O ponto crucial aqui \u00e9 que a forma como a consulta foi escrita impedia o SQL Server de aplicar o filtro diretamente na VIEW, o que fazia com que ela retornasse\u00a0<strong>mais de 400 milh\u00f5es de registros<\/strong>\u00a0at\u00e9 o ponto da jun\u00e7\u00e3o onde o filtro, de fato, era aplicado.<\/p>\n<h3>A Solu\u00e7\u00e3o<\/h3>\n<p>Reescrevemos a consulta, ajustando a l\u00f3gica para que o filtro pudesse ser aplicado de forma mais inteligente e antecipada. O resultado foi surpreendente:<\/p>\n<ul>\n<li>A\u00a0<strong>concess\u00e3o de mem\u00f3ria caiu de 49 GB para apenas 2 MB<\/strong>.<\/li>\n<li>O\u00a0<strong>tempo de execu\u00e7\u00e3o caiu de 20 minutos para 574 milissegundos<\/strong>.<\/li>\n<li>E, de quebra, ainda\u00a0<strong>evitamos o consumo desnecess\u00e1rio de quase 200 GB de mem\u00f3ria<\/strong>.<\/li>\n<li><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4844\" data-permalink=\"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/attachment\/1754346723018\/\" data-orig-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723018.jpg\" data-orig-size=\"547,560\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"1754346723018\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723018.jpg\" class=\"alignnone size-medium wp-image-4844\" src=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723018-293x300.jpg\" alt=\"\" width=\"293\" height=\"300\" srcset=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723018-293x300.jpg 293w, https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723018.jpg 547w\" sizes=\"auto, (max-width: 293px) 100vw, 293px\" \/><\/li>\n<\/ul>\n<h3>A Li\u00e7\u00e3o<\/h3>\n<p>Deu pra sentir o poder do tuning a\u00ed? \ud83d\ude04<br \/>\nMais do que performance, estamos falando de\u00a0<strong>efici\u00eancia, economia e estabilidade<\/strong>\u00a0para o ambiente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4846\" data-permalink=\"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/attachment\/1754346723050\/\" data-orig-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723050.jpg\" data-orig-size=\"567,179\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"1754346723050\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723050.jpg\" class=\"alignnone size-medium wp-image-4846\" src=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723050-300x95.jpg\" alt=\"\" width=\"300\" height=\"95\" srcset=\"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723050-300x95.jpg 300w, https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/1754346723050.jpg 567w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3>Fica a Dica:<\/h3>\n<ul>\n<li><strong>Cuidado com consultas que envolvem opera\u00e7\u00f5es de classifica\u00e7\u00e3o ou hash<\/strong>.<\/li>\n<li><strong>Evite abusar de VIEWs complexas<\/strong>, especialmente quando n\u00e3o h\u00e1 filtros sendo aplicados corretamente.<\/li>\n<\/ul>\n<h3>Dica de Ouro:<\/h3>\n<p>Este caso tamb\u00e9m mostra a\u00a0<strong>import\u00e2ncia de um monitoramento de qualidade<\/strong>\u00a0no ambiente.<br \/>\nSem o\u00a0<strong>Power Alerts<\/strong>, essa investiga\u00e7\u00e3o teria sido muito mais demorada e complicada.<\/p>\n<p>\ud83d\udc49\u00a0<strong>Teste o Power Alerts gratuitamente por 30 dias<\/strong>:\u00a0<a href=\"https:\/\/powertuning.com.br\/\" rel=\"noopener\">https:\/\/powertuning.com.br<\/a><\/p>\n<p><strong>Power Tuning<\/strong><br \/>\n<em>Especialistas em performance de dados.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um cliente nos procurou reclamando de lentid\u00e3o extrema em um relat\u00f3rio. Ao nos conectarmos ao ambiente, consultamos o\u00a0Power Alerts,\u00a0nossa solu\u00e7\u00e3o de monitoramento, e percebemos que o relat\u00f3rio frequentemente apresentava o\u00a0wait type RESOURCE_SEMAPHORE. Para quem n\u00e3o est\u00e1 familiarizado, esse tipo de espera ocorre quando uma thread precisa aguardar a libera\u00e7\u00e3o de mem\u00f3ria para iniciar a execu\u00e7\u00e3o&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/powertuning.com.br\/blog\/um-caso-real-de-quando-o-tuning-salva-relatorios-e-economiza-memoria\/\">Leia mais<\/a><\/p>\n","protected":false},"author":32,"featured_media":4848,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[62,59,1,63],"tags":[623,159,617,33,625,621,627,626,620,616,336,624,141,22,622,618,519,615,619],"class_list":["post-4841","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-casos-reais-de-clientes","category-tuning","category-sem-categoria","category-sql-server","tag-boas-praticas-sql","tag-casos-reais","tag-consultoria-de-dados","tag-dba","tag-diagnostico-de-performance","tag-eficiencia-em-consultas","tag-especialistas-em-dados","tag-memoria-sql-server","tag-monitoramento-de-performance","tag-otimizacao-de-query","tag-performance-de-banco-de-dados","tag-performance-de-relatorios","tag-power-alerts","tag-power-tuning","tag-reducao-de-custo-em-infraestrutura","tag-resource_semaphore","tag-sql-tuning","tag-tuning-de-consultas","tag-views-no-sql-server"],"jetpack_featured_media_url":"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2025\/08\/CAPA-ARTIGO-BLOG-HOJE-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4841"}],"version-history":[{"count":2,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4841\/revisions"}],"predecessor-version":[{"id":4849,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4841\/revisions\/4849"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media\/4848"}],"wp:attachment":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}