{"id":24248,"date":"2026-04-27T18:30:43","date_gmt":"2026-04-27T21:30:43","guid":{"rendered":"https:\/\/fabriciolima.net\/blog\/?p=24248"},"modified":"2026-04-27T18:30:43","modified_gmt":"2026-04-27T21:30:43","slug":"comprar-hardware-adia-cloud-cobra-todo-mes-performance-no-banco-de-dados-resolve","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2026\/04\/27\/comprar-hardware-adia-cloud-cobra-todo-mes-performance-no-banco-de-dados-resolve\/","title":{"rendered":"Comprar hardware adia. Cloud cobra todo m\u00eas. Performance no banco de dados resolve."},"content":{"rendered":"<p><!-- ===== Post Blog Pessoal - N\u00e3o compre hardware antes de ler isso ===== --><\/p>\n<div id=\"fl-post\" style=\"max-width:780px; margin:0 auto; padding:0 8px; box-sizing:border-box; font-family:Georgia, 'Times New Roman', serif; color:#1a1a2e; line-height:1.8;\">\n<p><!-- HEADER --><\/p>\n<div style=\"background: linear-gradient(135deg, #0D1B40 0%, #1a3a6b 50%, #2d5a9e 100%); border-radius:16px; padding:28px 24px; margin-bottom:36px;\">\n<div style=\"display:inline-block; background:rgba(255,215,61,0.15); border:1px solid rgba(255,215,61,0.45); border-radius:100px; padding:6px 18px; margin-bottom:20px;\">\n    <span style=\"color:#FFD93D; font-size:13px; font-family:Verdana,sans-serif; letter-spacing:1.5px; text-transform:uppercase;\">&#128188; Para Gestores de TI<\/span>\n  <\/div>\n<h1 style=\"color:#ffffff; font-size:26px; font-weight:bold; margin:0 0 16px 0; line-height:1.3;\">Comprar hardware adia. Cloud cobra todo m&ecirc;s. Performance no banco de dados resolve.<\/h1>\n<p style=\"color:#a8c4e6; font-size:15px; margin:0; font-family:Verdana,sans-serif;\">\n    <span style=\"font-weight:bold;\"><a href=\"https:\/\/www.linkedin.com\/in\/fabriciofrancalima\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#8bb8ff; text-decoration:none;\">Fabr&iacute;cio Lima<\/a><\/span> &nbsp;&middot;&nbsp; Abril 2026\n  <\/p>\n<\/div>\n<p><!-- AUTHOR CARD --><\/p>\n<div style=\"background:#f9fafb; border:1px solid #e8edf5; border-radius:12px; padding:18px 20px; margin-bottom:28px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Autor<\/p>\n<p style=\"margin:0; font-size:16px;\"><strong style=\"color:#1a3a6b;\">Fabr&iacute;cio Lima<\/strong> &nbsp;&middot;&nbsp; CEO Power Tuning &nbsp;&middot;&nbsp; <a href=\"https:\/\/www.linkedin.com\/in\/fabriciofrancalima\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#2d5a9e; text-decoration:none; font-family:Verdana,sans-serif; font-size:13px;\">LinkedIn &#8599;<\/a> &nbsp;&middot;&nbsp; <a href=\"https:\/\/www.youtube.com\/@FabricioLimaNegociosDadosIA\" target=\"_blank\" rel=\"noopener\" style=\"color:#c0392b; text-decoration:none; font-family:Verdana,sans-serif; font-size:13px;\">YouTube &#8599;<\/a><\/p>\n<\/div>\n<p><!-- INFO BOX \/ SOBRE --><\/p>\n<div style=\"background:#f0f4ff; border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin-bottom:32px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:13px; color:#2d5a9e; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">Sobre o que &eacute;<\/p>\n<p style=\"margin:0; font-size:17px; color:#1a1a2e;\">Em 20 anos otimizando Protheus, vi muito gestor aprovar centenas de milhares em hardware ou aumentar a fatura mensal de cloud achando que ia resolver lentid&atilde;o &mdash; e ver o problema voltar 6 meses depois. Esse post mostra <strong>por que isso acontece<\/strong>, com 4 cases reais do meu arquivo. O ponto n&atilde;o &eacute; que mais infra n&atilde;o serve. &Eacute; que ela &eacute; quase sempre a <strong>&uacute;ltima<\/strong> medida &mdash; n&atilde;o a primeira.<\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- O ARGUMENTO CENTRAL --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"margin-bottom:36px;\">\n<h2 style=\"font-size:21px; color:#0D1B40; margin:0 0 20px 0; padding-bottom:12px; border-bottom:2px solid #e8edf5;\">&#128176; Por que mais infra quase nunca &eacute; a resposta<\/h2>\n<p style=\"font-size:17px; color:#333; margin:0 0 16px 0;\">A frase que mais ouvi em 20 anos de Protheus &eacute; essa &mdash; e nos &uacute;ltimos anos, com cloud, ela ganhou uma vers&atilde;o nova:<\/p>\n<div style=\"background:linear-gradient(135deg, #f8f6ff 0%, #f0f4ff 100%); border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin:0 0 14px 0; font-style:italic; font-size:18px; color:#1a1a2e;\">\n    &#10077; &quot;Fabr&iacute;cio, o sistema est&aacute; lento. A TOTVS recomendou aumentar o servidor. Vamos investir R$ 200 mil em hardware novo.&quot;\n  <\/div>\n<div style=\"background:linear-gradient(135deg, #f8f6ff 0%, #f0f4ff 100%); border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin:0 0 20px 0; font-style:italic; font-size:18px; color:#1a1a2e;\">\n    &#10077; &quot;Fabr&iacute;cio, o ambiente t&aacute; lento. O fornecedor sugeriu subir mais 8 vCores no Azure SQL. Vai aumentar uns R$ 12 mil\/m&ecirc;s na fatura, mas precisamos.&quot;\n  <\/div>\n<p style=\"font-size:17px; color:#333; margin:0 0 16px 0;\">Mais infra <strong>parece<\/strong> a resposta &oacute;bvia, e a cloud deixou isso ainda mais f&aacute;cil &mdash; n&atilde;o precisa nem de cota&ccedil;&atilde;o, &eacute; um clique no portal. CPU em 100%? Sobe SKU. Disco lento? Aumenta IOPS. Mem&oacute;ria cheia? Mais RAM. A l&oacute;gica &eacute; t&atilde;o simples que ningu&eacute;m questiona.<\/p>\n<p style=\"font-size:17px; color:#333; margin:0 0 16px 0;\">Mas tem um detalhe inc&ocirc;modo: na maioria absoluta dos casos que atendi, mais infra n&atilde;o resolveu nada. Ou resolveu por 6 meses, e a empresa estava de volta com o mesmo problema &mdash; agora pagando mais caro pra continuar lenta. Por qu&ecirc;?<\/p>\n<p style=\"font-size:17px; color:#333; margin:0 0 20px 0;\">Porque infraestrutura n&atilde;o conserta query mal escrita. SSD\/Premium Storage n&atilde;o cria &iacute;ndice faltando. Mais vCore n&atilde;o impede um SELECT * lendo tabela de 48 milh&otilde;es de linhas. <strong>Mais infra s&oacute; faz o problema acontecer mais r&aacute;pido<\/strong> &mdash; e, na cloud, faz voc&ecirc; pagar mais por ele todo m&ecirc;s. A causa continua intacta. E cresce com o banco.<\/p>\n<h3 style=\"font-size:19px; color:#1a3a6b; margin:24px 0 14px 0;\">As 3 op&ccedil;&otilde;es que voc&ecirc; tem (e o quanto cada uma custa)<\/h3>\n<p style=\"font-size:16px; color:#333; margin:0 0 16px 0;\">Quando o ERP fica lento, voc&ecirc; tem tr&ecirc;s caminhos. Cada um com custo, prazo e risco bem diferentes:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; border-collapse:separate; border-spacing:8px 0; margin:0 0 16px 0;\">\n<tr>\n      <!-- CAMINHO 1: MAIS INFRA --><\/p>\n<td valign=\"top\" width=\"33%\" style=\"background:#fff5f5; border:2px solid #e8b4b4; border-radius:12px; padding:18px;\">\n<p style=\"margin:0 0 6px 0; font-family:Verdana,sans-serif; font-size:11px; color:#c0392b; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">Caminho 1<\/p>\n<p style=\"margin:0 0 8px 0; font-size:18px; font-weight:bold; color:#c0392b; font-family:Georgia,serif;\">&#9729;&#65039; Mais Infra<\/p>\n<p style=\"margin:0 0 10px 0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">Hardware ou vCore\/DTU na cloud<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Custo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#c0392b;\">Alto e recorrente<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Prazo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#c0392b;\">Imediato (cloud) a meses (on-prem)<\/p>\n<p style=\"margin:0; font-size:13px; color:#555; font-family:Verdana,sans-serif; line-height:1.5;\">&#9888; Problema volta &mdash; mas voc&ecirc; passa a pagar mais<\/p>\n<\/td>\n<p>      <!-- CAMINHO 2: ADVPL --><\/p>\n<td valign=\"top\" width=\"33%\" style=\"background:#fffbf0; border:2px solid #e6dcc0; border-radius:12px; padding:18px;\">\n<p style=\"margin:0 0 6px 0; font-family:Verdana,sans-serif; font-size:11px; color:#8a7020; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">Caminho 2<\/p>\n<p style=\"margin:0 0 8px 0; font-size:18px; font-weight:bold; color:#8a7020; font-family:Georgia,serif;\">&#128221; AdvPL<\/p>\n<p style=\"margin:0 0 10px 0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">Reescrever c&oacute;digo do ERP<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Custo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#8a7020;\">M&eacute;dio-alto<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Prazo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#8a7020;\">Demorado<\/p>\n<p style=\"margin:0; font-size:13px; color:#555; font-family:Verdana,sans-serif; line-height:1.5;\">&#9888; Cria depend&ecirc;ncia de terceiros<\/p>\n<\/td>\n<p>      <!-- CAMINHO 3: BANCO DE DADOS --><\/p>\n<td valign=\"top\" width=\"33%\" style=\"background:#f0fff0; border:2px solid #2d6b2d; border-radius:12px; padding:18px; position:relative;\">\n        <span style=\"position:absolute; top:-10px; right:10px; background:#2d6b2d; color:#FFD93D; font-family:Verdana,sans-serif; font-size:10px; font-weight:bold; padding:3px 10px; border-radius:100px; letter-spacing:1px;\">&#9733; FOCO DESSE POST<\/span><\/p>\n<p style=\"margin:0 0 6px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d6b2d; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">Caminho 3<\/p>\n<p style=\"margin:0 0 8px 0; font-size:18px; font-weight:bold; color:#2d6b2d; font-family:Georgia,serif;\">&#128190; Banco de Dados<\/p>\n<p style=\"margin:0 0 10px 0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">&Iacute;ndices, compress&atilde;o, queries<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Custo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#2d6b2d;\">Baixo<\/p>\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1px;\">Prazo<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; color:#2d6b2d;\">Minutos a horas<\/p>\n<p style=\"margin:0; font-size:13px; color:#555; font-family:Verdana,sans-serif; line-height:1.5;\">&#9989; Resolve a causa, sem mexer no ERP<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"font-size:16px; color:#333; margin:0;\">Esse post inteiro &eacute; sobre o caminho 3 &mdash; o que economiza dinheiro (capex e opex), tempo e a sua reputa&ccedil;&atilde;o como gestor. E vou provar com 4 cases reais do meu arquivo de cliente.<\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- PRINCIPAIS INSIGHTS --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"margin-bottom:36px;\">\n<h2 style=\"font-size:21px; color:#0D1B40; margin:0 0 20px 0; padding-bottom:12px; border-bottom:2px solid #e8edf5;\">&#128161; O que voc&ecirc;, gestor, precisa saber sobre seu banco<\/h2>\n<p style=\"font-size:16px; color:#333; margin:0 0 16px 0;\">Voc&ecirc; n&atilde;o precisa virar DBA. Mas precisa entender 5 conceitos que separam um ambiente bem cuidado de um prestes a estourar &mdash; pra saber quando seu time est&aacute; fazendo o trabalho certo, e quando est&aacute; te empurrando hardware.<\/p>\n<div style=\"background:#ffffff; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);\">\n<h3 style=\"margin:0 0 8px 0; font-size:18px; color:#1a3a6b;\">1. Uma s&oacute; query pode comer 40% do servidor (ou da sua fatura cloud)<\/h3>\n<p style=\"margin:0; font-size:16px; color:#444;\">Nos clientes que atendi, era comum encontrar <strong>uma &uacute;nica query<\/strong> consumindo 30% a 40% de todo o recurso do banco. Subir o SKU da inst&acirc;ncia n&atilde;o resolve isso &mdash; s&oacute; faz a query consumir 40% de uma m&aacute;quina mais cara. Em cloud, isso vira aumento mensal recorrente. Identificar e otimizar essa query, sim, libera o ambiente inteiro &mdash; e na cloud derruba a fatura.<\/p>\n<\/p><\/div>\n<div style=\"background:#ffffff; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);\">\n<h3 style=\"margin:0 0 8px 0; font-size:18px; color:#1a3a6b;\">2. Sem visibilidade, voc&ecirc; vive no escuro<\/h3>\n<p style=\"margin:0; font-size:16px; color:#444;\">Sem ferramenta de monitoramento, ningu&eacute;m sabe qual query &eacute; cara, qual tabela cresce mais, ou onde est&atilde;o os locks. Voc&ecirc; vive reagindo a chamado de usu&aacute;rio. <strong>Esse &eacute; o sintoma cl&aacute;ssico que faz aprovar mais infra (ou subir o SKU na cloud)<\/strong>: quando ningu&eacute;m enxerga o problema, &quot;trocar tudo&quot; vira a melhor hip&oacute;tese poss&iacute;vel. N&atilde;o &eacute;.<\/p>\n<\/p><\/div>\n<div style=\"background:#ffffff; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);\">\n<h3 style=\"margin:0 0 8px 0; font-size:18px; color:#1a3a6b;\">3. SELECT * &eacute; o inimigo n&uacute;mero 1 da performance<\/h3>\n<p style=\"margin:0; font-size:16px; color:#444;\">Quando uma query pede &quot;todas as colunas&quot; de uma tabela gigante, o SQL Server desiste de usar &iacute;ndice e l&ecirc; a tabela inteira. Em tabelas do Protheus com 48 milh&otilde;es de linhas, isso significa milh&otilde;es de leituras desnecess&aacute;rias. <strong>Pedir s&oacute; as colunas necess&aacute;rias muda tudo.<\/strong><\/p>\n<\/p><\/div>\n<div style=\"background:#ffffff; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);\">\n<h3 style=\"margin:0 0 8px 0; font-size:18px; color:#1a3a6b;\">4. &Iacute;ndices nos JOINs, n&atilde;o s&oacute; nos filtros<\/h3>\n<p style=\"margin:0; font-size:16px; color:#444;\">A maioria dos DBAs cuida bem dos &iacute;ndices nos filtros (WHERE). Mas quando uma query junta 3 tabelas grandes do Protheus, e os &iacute;ndices nas <strong>colunas de jun&ccedil;&atilde;o<\/strong> n&atilde;o existem, o servidor inteiro trava. Esse &eacute; o gargalo mais subestimado que existe &mdash; e raramente aparece em diagn&oacute;stico de fornecedor.<\/p>\n<\/p><\/div>\n<div style=\"background:#ffffff; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);\">\n<h3 style=\"margin:0 0 8px 0; font-size:18px; color:#1a3a6b;\">5. Compress&atilde;o pode reduzir o banco em 70% (e n&atilde;o &eacute; gambiarra)<\/h3>\n<p style=\"margin:0; font-size:16px; color:#444;\">O Protheus preenche colunas vazias com espa&ccedil;os em branco em vez de NULL &mdash; desperdi&ccedil;ando espa&ccedil;o massivamente. A compress&atilde;o nativa do SQL Server elimina esses vazios, com redu&ccedil;&otilde;es reais entre 60% e 80% &mdash; vi cliente sair de 242GB pra 50GB. Banco menor cabe na RAM, e a&iacute; <strong>tudo<\/strong> fica mais r&aacute;pido. Sem mexer no ERP, sem novo servidor.<\/p>\n<\/p><\/div>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CITA\u00c7\u00d5ES --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"margin-bottom:36px;\">\n<h2 style=\"font-size:21px; color:#0D1B40; margin:0 0 20px 0; padding-bottom:12px; border-bottom:2px solid #e8edf5;\">&#128172; O que aprendi em 20 anos<\/h2>\n<div style=\"background:linear-gradient(135deg, #f8f6ff 0%, #f0f4ff 100%); border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin:0 0 16px 0; font-style:italic; font-size:18px; color:#1a1a2e;\">\n    &#10077; &quot;Comprar hardware adia. Cloud cobra todo m&ecirc;s. Performance no banco de dados resolve.&quot;\n  <\/div>\n<div style=\"background:linear-gradient(135deg, #f8f6ff 0%, #f0f4ff 100%); border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin:0 0 16px 0; font-style:italic; font-size:18px; color:#1a1a2e;\">\n    &#10077; &quot;Quando ningu&eacute;m enxerga onde est&aacute; o gargalo, &lsquo;trocar tudo&rsquo; sempre parece a melhor op&ccedil;&atilde;o.&quot;\n  <\/div>\n<div style=\"background:linear-gradient(135deg, #f8f6ff 0%, #f0f4ff 100%); border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:18px 20px; margin:0 0 16px 0; font-style:italic; font-size:18px; color:#1a1a2e;\">\n    &#10077; &quot;O servidor mais caro do mundo &mdash; e o SKU mais alto da Azure &mdash; n&atilde;o consertam uma query mal escrita.&quot;\n  <\/div>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CASES REAIS --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"margin-bottom:36px;\">\n<h2 style=\"font-size:21px; color:#0D1B40; margin:0 0 20px 0; padding-bottom:12px; border-bottom:2px solid #e8edf5;\">&#128200; 4 cases reais que evitaram aumento de infra<\/h2>\n<p style=\"font-size:16px; color:#333; margin:0 0 20px 0;\">Pra ilustrar o impacto real, separei 4 cases de clientes do meu arquivo. Em todos, a empresa estava em vias de aumentar a infra &mdash; comprar servidor novo, subir o SKU no Azure, ou aumentar storage premium &mdash; e a otimiza&ccedil;&atilde;o no banco resolveu o problema em horas. O custo: uma fra&ccedil;&atilde;o do que seria a infra extra (s&oacute; ou recorrente).<\/p>\n<p>  <!-- CASE 1: CT2010 --><\/p>\n<div style=\"background:#f9fafb; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:20px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1.5px; font-weight:bold;\">Case 1 &middot; CT2010 (48 milh&otilde;es de registros)<\/p>\n<h3 style=\"margin:0 0 12px 0; font-size:18px; color:#1a3a6b;\">O &iacute;ndice sugerido nem sempre &eacute; o melhor<\/h3>\n<p style=\"font-size:15px; color:#444; margin:0 0 16px 0;\">Query filtrava por uma coluna espec&iacute;fica. O pr&oacute;prio SQL Server sugeriu um &iacute;ndice gigante &mdash; seria caro de manter numa tabela desse tamanho. Solu&ccedil;&atilde;o: um &iacute;ndice menor, apenas pela coluna seletiva (420MB, criado em 5 minutos):<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; border-collapse:separate; border-spacing:8px 0;\">\n<tr>\n<td valign=\"top\" width=\"50%\" style=\"background:#fff5f5; border:2px solid #e8b4b4; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#c0392b; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#10060; Antes<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#c0392b;\">5,7s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">91.143 leituras &middot; CPU 10s<\/p>\n<\/td>\n<td valign=\"top\" width=\"50%\" style=\"background:#f0fff0; border:2px solid #8bc88b; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d6b2d; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#9989; Depois<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#2d6b2d;\">0,07s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">4 leituras &middot; CPU 0ms<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin:14px 0 0 0; font-size:14px; color:#8a7020; font-family:Verdana,sans-serif;\"><strong>&#128161; A li&ccedil;&atilde;o pro gestor:<\/strong> n&atilde;o aceite cegamente o &iacute;ndice sugerido pelo SQL nem o &quot;precisa de mais m&aacute;quina&quot; do fornecedor. Diagn&oacute;stico bem feito &eacute; outra coisa.<\/p>\n<\/p><\/div>\n<p>  <!-- CASE 2: SD2010 --><\/p>\n<div style=\"background:#f9fafb; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:20px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1.5px; font-weight:bold;\">Case 2 &middot; SD2010 (TempDB sob press&atilde;o)<\/p>\n<h3 style=\"margin:0 0 12px 0; font-size:18px; color:#1a3a6b;\">Quando o disco est&aacute; lento, o problema raramente &eacute; o disco<\/h3>\n<p style=\"font-size:15px; color:#444; margin:0 0 16px 0;\">Cliente com query escrita de forma que o SQL despejava <strong>86 milh&otilde;es de leituras<\/strong> no TempDB pra cada execu&ccedil;&atilde;o. Sintoma vis&iacute;vel: disco lento, servidor &quot;travado&quot;. O fornecedor recomendou storage Premium na Azure &mdash; o que significaria uns R$ 8 mil\/m&ecirc;s a mais na fatura. Solu&ccedil;&atilde;o real: 1 &iacute;ndice estrat&eacute;gico cobrindo o padr&atilde;o das subqueries:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; border-collapse:separate; border-spacing:8px 0;\">\n<tr>\n<td valign=\"top\" width=\"50%\" style=\"background:#fff5f5; border:2px solid #e8b4b4; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#c0392b; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#10060; Antes<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#c0392b;\">4m 05s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">86M tempdb &middot; CPU 362s<\/p>\n<\/td>\n<td valign=\"top\" width=\"50%\" style=\"background:#f0fff0; border:2px solid #8bc88b; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d6b2d; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#9989; Depois<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#2d6b2d;\">3s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">4.504 tempdb &middot; CPU 12s<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin:14px 0 0 0; font-size:14px; color:#8a7020; font-family:Verdana,sans-serif;\"><strong>&#128161; A li&ccedil;&atilde;o pro gestor:<\/strong> sintoma de hardware (disco lento) raramente tem causa de hardware. Storage Premium s&oacute; faria os 86M de leituras serem mais r&aacute;pidos &mdash; sem resolver nada, e com R$ 8 mil\/m&ecirc;s a mais na fatura, pra sempre.<\/p>\n<\/p><\/div>\n<p>  <!-- CASE 3: SC5+SC6+SC9 --><\/p>\n<div style=\"background:#f9fafb; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:20px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1.5px; font-weight:bold;\">Case 3 &middot; SC5 + SC6 + SC9 (Pedidos)<\/p>\n<h3 style=\"margin:0 0 12px 0; font-size:18px; color:#1a3a6b;\">Locks travando o banco inteiro<\/h3>\n<p style=\"font-size:15px; color:#444; margin:0 0 16px 0;\">Query com JOINs em 3 tabelas de Pedidos do Protheus. Realizava 481 milh&otilde;es de leituras e &mdash; o pior &mdash; causava locks que travavam outros processos do banco. O cliente j&aacute; tinha aprovado um upgrade de servidor de R$ 280 mil que se tornou desnecess&aacute;rio. Solu&ccedil;&atilde;o: 3 &iacute;ndices estrat&eacute;gicos focados nas colunas de JOIN:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; border-collapse:separate; border-spacing:8px 0;\">\n<tr>\n<td valign=\"top\" width=\"50%\" style=\"background:#fff5f5; border:2px solid #e8b4b4; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#c0392b; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#10060; Antes<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#c0392b;\">2m 40s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">481M leituras &middot; locks<\/p>\n<\/td>\n<td valign=\"top\" width=\"50%\" style=\"background:#f0fff0; border:2px solid #8bc88b; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d6b2d; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#9989; Depois<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#2d6b2d;\">4s<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">Locks eliminados<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin:14px 0 0 0; font-size:14px; color:#8a7020; font-family:Verdana,sans-serif;\"><strong>&#128161; A li&ccedil;&atilde;o pro gestor:<\/strong> R$ 280 mil em hardware n&atilde;o acabariam com os locks &mdash; locks s&atilde;o problema l&oacute;gico, n&atilde;o f&iacute;sico. 3 &iacute;ndices, sim.<\/p>\n<\/p><\/div>\n<p>  <!-- CASE 4: SUBSTRING --><\/p>\n<div style=\"background:#f9fafb; border:1px solid #e8edf5; border-radius:12px; padding:24px; margin-bottom:20px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#999; text-transform:uppercase; letter-spacing:1.5px; font-weight:bold;\">Case 4 &middot; Query rodando 15 minutos<\/p>\n<h3 style=\"margin:0 0 12px 0; font-size:18px; color:#1a3a6b;\">Uma fun&ccedil;&atilde;o no WHERE matando o &iacute;ndice<\/h3>\n<p style=\"font-size:15px; color:#444; margin:0 0 16px 0;\">Query do ERP demorando 15 minutos pra rodar. Causa: o filtro usava SUBSTRING numa coluna de data &mdash; o que for&ccedil;a o SQL a aplicar a fun&ccedil;&atilde;o linha por linha, lendo a tabela inteira. Solu&ccedil;&atilde;o: reescrever o filtro sem fun&ccedil;&atilde;o + criar &iacute;ndice. Resultado:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; border-collapse:separate; border-spacing:8px 0;\">\n<tr>\n<td valign=\"top\" width=\"50%\" style=\"background:#fff5f5; border:2px solid #e8b4b4; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#c0392b; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#10060; Antes<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#c0392b;\">15 min<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">Table Scan completo<\/p>\n<\/td>\n<td valign=\"top\" width=\"50%\" style=\"background:#f0fff0; border:2px solid #8bc88b; border-radius:12px; padding:16px; text-align:center;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d6b2d; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#9989; Depois<\/p>\n<p style=\"margin:0 0 8px 0; font-family:Verdana,sans-serif; font-size:32px; font-weight:bold; color:#2d6b2d;\">segundos<\/p>\n<p style=\"margin:0; font-size:13px; color:#888; font-family:Verdana,sans-serif;\">Seek no &iacute;ndice<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin:14px 0 0 0; font-size:14px; color:#8a7020; font-family:Verdana,sans-serif;\"><strong>&#128161; A li&ccedil;&atilde;o pro gestor:<\/strong> 15 minutos virando segundos n&atilde;o &eacute; m&aacute;gica nem hardware &mdash; &eacute; reescrita de uma linha de c&oacute;digo + 1 &iacute;ndice. Trabalho de horas, n&atilde;o de meses.<\/p>\n<\/p><\/div>\n<p>  <!-- CTA cross-link --><\/p>\n<div style=\"background:#fffbf0; border:1px solid #e6dcc0; border-radius:12px; padding:20px; margin-bottom:16px;\">\n<p style=\"margin:0; font-size:15px; color:#555;\"><strong style=\"color:#8a7020;\">&#128279; Quer ver mais?<\/strong> Esses 4 s&atilde;o uma amostra. Tenho um post separado com <a href=\"https:\/\/www.fabriciolima.net\/blog\" target=\"_blank\" rel=\"noopener\" style=\"color:#2d5a9e; font-weight:bold;\">10 cases reais de melhoria de performance no Protheus &rarr;<\/a><\/p>\n<\/p><\/div>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- O QUE MUDOU EM 20 ANOS --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"background:#fffdf5; border:2px dashed #e6c84d; border-radius:12px; padding:24px; margin-bottom:36px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#8a7020; font-weight:bold; text-transform:uppercase; letter-spacing:1.5px;\">&#128221; Reflex&atilde;o<\/p>\n<h2 style=\"font-size:21px; color:#0D1B40; margin:0 0 16px 0;\">O que mudou em 20 anos &mdash; e o que continua igual<\/h2>\n<p style=\"font-size:16px; color:#333; margin:0 0 14px 0;\">Em 20 anos otimizando Protheus, vi muita coisa mudar. O hardware ficou melhor, o SQL Server ficou mais inteligente, surgiu cloud, surgiu IA. <strong>Hoje at&eacute; o SQL Server 2025 escreve query sozinho com Copilot.<\/strong><\/p>\n<p style=\"font-size:16px; color:#333; margin:0 0 14px 0;\">O que <strong>n&atilde;o<\/strong> mudou: a press&atilde;o pra resolver o problema r&aacute;pido, e o atalho mais &oacute;bvio. Antes era comprar mais m&aacute;quina &mdash; hoje tamb&eacute;m &eacute; subir o SKU na cloud com 2 cliques, ou aumentar a tier de storage. O atalho mudou de embalagem, mas continua sendo o mais caro e o menos eficaz na maioria absoluta dos casos. Pior na cloud: vira fatura recorrente que ningu&eacute;m olha mais.<\/p>\n<p style=\"font-size:16px; color:#333; margin:0;\">Voc&ecirc;, gestor, n&atilde;o precisa virar DBA. Precisa cobrar diagn&oacute;stico antes de aprovar or&ccedil;amento. <strong>Diagn&oacute;stico bom dura horas. Servidor errado dura anos.<\/strong><\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- POWER ALERTS --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"background:linear-gradient(135deg, #0D1B40 0%, #1a3a6b 100%); border-radius:12px; padding:26px; margin-bottom:36px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#FFD93D; font-weight:bold; text-transform:uppercase; letter-spacing:1.5px;\">&#128737; Pra n&atilde;o ficar no escuro<\/p>\n<h3 style=\"font-size:20px; color:#ffffff; margin:0 0 14px 0;\">Visibilidade resolve antes de virar incidente<\/h3>\n<p style=\"font-size:16px; color:#c4d6ef; margin:0 0 16px 0; line-height:1.7;\">Em quase todos os casos que atendi, a empresa estava prestes a aprovar mais infra (hardware ou aumento de SKU na cloud) <strong>porque ningu&eacute;m enxergava onde estava o gargalo<\/strong>. Foi exatamente esse problema que me fez criar o <span style=\"font-weight:bold; color:#FFD93D;\">Power Alerts<\/span>: 40+ alertas autom&aacute;ticos por e-mail, dashboard Power BI em tempo real, relat&oacute;rios di&aacute;rios das queries mais caras. Funciona com DBA interno, terceirizado ou em times sem DBA dedicado &mdash; e em ambientes on-premise ou cloud.<\/p>\n<p style=\"margin:0;\"><a href=\"https:\/\/poweralerts.com.br\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-block; background:#FFD93D; color:#0D1B40; text-decoration:none; padding:12px 28px; border-radius:100px; font-family:Verdana,sans-serif; font-size:14px; font-weight:bold; letter-spacing:0.3px;\">Conhe&ccedil;a o Power Alerts &nbsp;&rarr;<\/a><\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- TAKEAWAYS --><br \/>\n<!-- ============================================================ --><\/p>\n<div style=\"background:#f8faf8; border:1px solid #d4e6d4; border-radius:12px; padding:22px; margin-bottom:36px;\">\n<h2 style=\"font-size:20px; color:#2d6b2d; margin:0 0 20px 0;\">&#9989; Pra levar pra sua pr&oacute;xima reuni&atilde;o de or&ccedil;amento<\/h2>\n<div style=\"font-size:15px; color:#333; font-family:Verdana,sans-serif; line-height:2.2;\">\n    &#10003; <strong>Comprar hardware adia. Cloud cobra todo m&ecirc;s. Performance no banco resolve.<\/strong><br \/>\n    &#10003; Uma s&oacute; query pode comer 40% do servidor (ou da fatura cloud)<br \/>\n    &#10003; Sem visibilidade, &quot;subir o SKU&quot; sempre parece a melhor op&ccedil;&atilde;o<br \/>\n    &#10003; SELECT * &eacute; o inimigo n&uacute;mero 1 da performance<br \/>\n    &#10003; &Iacute;ndices nos JOINs s&atilde;o t&atilde;o importantes quanto nos filtros<br \/>\n    &#10003; Compress&atilde;o pode reduzir o banco em 70% sem mexer no ERP<br \/>\n    &#10003; Disco lento raramente &eacute; problema de disco<br \/>\n    &#10003; <strong>Diagn&oacute;stico bom dura horas. Infra errada dura anos &mdash; e na cloud, fatura todo m&ecirc;s.<\/strong>\n  <\/div>\n<\/div>\n<p><!-- CTA cross-link DBA --><\/p>\n<div style=\"background:#f0f4ff; border-left:4px solid #2d5a9e; border-radius:0 12px 12px 0; padding:20px 24px; margin-bottom:36px;\">\n<p style=\"margin:0 0 4px 0; font-family:Verdana,sans-serif; font-size:11px; color:#2d5a9e; font-weight:bold; text-transform:uppercase; letter-spacing:1px;\">&#128218; Pro DBA do seu time<\/p>\n<p style=\"margin:0; font-size:16px; color:#333; line-height:1.7;\">Esse post foi escrito pra voc&ecirc;, gestor. Mas escrevi tamb&eacute;m a vers&atilde;o t&eacute;cnica detalhada &mdash; com a explica&ccedil;&atilde;o do plano de execu&ccedil;&atilde;o, ordem das colunas no &iacute;ndice composto e mais cases &mdash; no blog da Power Tuning. <a href=\"https:\/\/www.powertuning.com.br\/blog\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#2d5a9e; font-weight:bold;\">Compartilhe com seu DBA &rarr;<\/a><\/p>\n<\/div>\n<p><!-- RODAP\u00c9 --><\/p>\n<div style=\"text-align:center; padding:24px 0; border-top:1px solid #e8edf5;\">\n<p style=\"font-size:13px; color:#999; font-family:Verdana,sans-serif; margin:0;\">Por <strong style=\"color:#0D1B40;\">Fabr&iacute;cio Lima<\/strong> &nbsp;&middot;&nbsp; <a href=\"https:\/\/www.fabriciolima.net\" style=\"color:#2d5a9e; text-decoration:none;\">fabriciolima.net<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#128188; Para Gestores de TI Comprar hardware adia. Cloud cobra todo m&ecirc;s. Performance no banco de dados resolve. Fabr&iacute;cio Lima &nbsp;&middot;&nbsp; Abril 2026 Autor Fabr&iacute;cio Lima &nbsp;&middot;&nbsp; CEO Power Tuning &nbsp;&middot;&nbsp; LinkedIn &#8599; &nbsp;&middot;&nbsp; YouTube &#8599; Sobre o que &eacute; Em 20 anos otimizando Protheus, vi muito gestor aprovar centenas de milhares em hardware ou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":24250,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[],"tags":[2254,2251,2255,23,2252,463,2132,2247,2249,1033,2253,2248,63,1916,1042,2250,33,1043,953],"class_list":["post-24248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cases-reais-protheus","tag-compra-de-servidor","tag-custo-de-ti","tag-dba","tag-decisao-de-infraestrutura","tag-fabricio-lima","tag-gestao-de-ti","tag-gestor-de-ti","tag-hardware-vs-software","tag-lentidao-protheus","tag-lideranca-em-ti","tag-otimizacao-banco-de-dados","tag-performance","tag-power-alerts","tag-protheus","tag-roi-de-ti","tag-sql-server","tag-totvs-protheus","tag-tuning-sql-server"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/24248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=24248"}],"version-history":[{"count":1,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/24248\/revisions"}],"predecessor-version":[{"id":24249,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/24248\/revisions\/24249"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media\/24250"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=24248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=24248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=24248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}