{"id":834,"date":"2010-03-20T04:47:20","date_gmt":"2010-03-19T20:47:20","guid":{"rendered":"http:\/\/www.andreanolanusse.com\/pt\/?p=834"},"modified":"2013-05-21T20:18:40","modified_gmt":"2013-05-22T03:18:40","slug":"resolvendo-problemas-de-otimizacao-de-sql","status":"publish","type":"post","link":"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/","title":{"rendered":"Resolvendo problemas de otimiza\u00e7\u00e3o de SQL"},"content":{"rendered":"<p>Um dos grandes problemas em desenvolvimento de software est\u00e1 relacionado com a performance da aplica\u00e7\u00e3o e na grande maioria com SQL n\u00e3o otimizados. Com base nisso come\u00e7a a doloroza tarefa de otimiza\u00e7\u00e3o, dependendo da estrutura da empresa existe a clara separa\u00e7\u00e3o entre desenvolvedores e DBAs, na minha opini\u00e3o este problema acaba sendo responsabilidade dos dois, muitas vezes existe um grande conflito entre os dois e isso acaba impactando negativamente no neg\u00f3cio da empresa.<\/p>\n<p>Esta m\u00eas estive visitando um cliente onde tinhamos os grupos de desenvolvedores e DBAs, ambos trabalhavam integrados e se ajudando muitas vezes. A estrutura de 4 servidores com 48GB RAM, 4 processadores com 8 n\u00facleos cada utilizando SQL Server e aplica\u00e7\u00e3o .NET, neste cen\u00e1rio tinhamos problemas de performance.<\/p>\n<p>Para entender onde estava o problema utilizamos duas das nossas solu\u00e7\u00f5es: Performance Center e DB Optimizer.<\/p>\n<p>Performance Center nossa solu\u00e7\u00e3o para monitoramente de servidores de banco de dados 24&#215;7, onde os DBAs s\u00e3o notificados de problemas que podem vir a acontecer e aqueles que est\u00e3o acontecendo, \u00e9 como o seu painel de controle onde voc\u00ea tem visibilidade de tudo o que acontece no banco de dados e sistema operacional.<\/p>\n<p>De inicio identificamos bases de dados sem backup a algum tempo, arquivos de log e base de dados no mesmo disco em alguns servidores e v\u00e1rios picos de CPU causados por algumas stored procedures e locks de registros muito frequentes, ou seja, existiam problemas de otimiza\u00e7\u00e3o de SQL e problemas nas aplica\u00e7\u00f5es.<\/p>\n<p>Identificado o problema utilizamos o DB Optimizer para efetuar o profile no banco de dados, para nossa surpresa identificamos que uma \u00fanica stored procedure era executa a cada 2 segundos e efetuava contastes updates, estes updates geravam o log.<\/p>\n<p>Agora a equipe de desenvolvimento esta reavaliando a melhor forma de otimizar este processo na aplica\u00e7\u00e3o, os testes iniciais j\u00e1 apontam uma grande melhora no desempenho e a elimina\u00e7\u00e3o dos locks, tamb\u00e9m foram encontrados outros pontos onde \u00e9 necess\u00e1rio otimizar.<\/p>\n<p>Se voc\u00ea quizer conhecer mais sobre o Performance Center e DB Optimizer, assista minha apresenta\u00e7\u00e3o sobre <strong>SQL Tunning, alta-disponibilidade e efici\u00eancia de banco de dados 24&#215;7<\/strong> que est\u00e1 publicado no EDN.<\/p>\n<div id=\"attachment_837\" style=\"width: 51px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/cc.embarcadero.com\/javascript\/play.html?u=y&amp;w=1024&amp;h=768&amp;s=51.5MB&amp;t=Performance%20Solution%20-%20DBA%20Week%20Portuguese.swf&amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27637%26file%3dPerformance+Solution+-+DBA+Week+Portuguese.swf&amp;d=htt\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-837\" class=\"size-full wp-image-837 \" title=\"Play\" alt=\"\" src=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/play.jpg\" width=\"41\" height=\"41\" srcset=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/play.jpg 114w, http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/play-80x80.jpg 80w, http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/play-36x36.jpg 36w\" sizes=\"(max-width: 41px) 100vw, 41px\" \/><\/a><p id=\"caption-attachment-837\" class=\"wp-caption-text\">Assistir o v\u00eddeo<\/p><\/div>\n<div id=\"attachment_838\" style=\"width: 52px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/cc.embarcadero.com\/Download.aspx?id=27637\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-838\" class=\"size-full wp-image-838 \" title=\"Download\" alt=\"Baixar o v\u00eddeo e assistir off-line\" src=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Download.png\" width=\"42\" height=\"42\" srcset=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Download.png 116w, http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Download-80x80.png 80w, http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Download-36x36.png 36w\" sizes=\"(max-width: 42px) 100vw, 42px\" \/><\/a><p id=\"caption-attachment-838\" class=\"wp-caption-text\">Baixar o&#8217;v\u00eddeo<\/p><\/div>\n<p>O mais importante \u00e9 que toda esta descoberta se passou em apenas 3 horas, ou seja, geralmente tardamos dias para encontrar a origem do problemas, quando encontramos. Neste caso com Performance Center e DB Optimizer encontramos em apenas 3 horas.<br \/>\nAt\u00e9 o pr\u00f3ximo post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um dos grandes problemas em desenvolvimento de software est\u00e1 relacionado com a performance da aplica\u00e7\u00e3o e na grande maioria com SQL n\u00e3o otimizados. Com base nisso come\u00e7a a doloroza tarefa de otimiza\u00e7\u00e3o, dependendo da estrutura da empresa existe a clara separa\u00e7\u00e3o entre desenvolvedores e DBAs, na minha opini\u00e3o este problema acaba sendo responsabilidade dos dois, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":862,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_s2mail":"yes","footnotes":""},"categories":[51],"tags":[177],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Resolvendo problemas de otimiza\u00e7\u00e3o de SQL | Andreano Lanusse | Tecnologia e Desenvolvimento de Software<\/title>\n<meta name=\"description\" content=\"Um dos grandes problemas em desenvolvimento de software est\u00e1 relacionado com a performance da aplica\u00e7\u00e3o e na grande maioria com SQL n\u00e3o otimizados. Com\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Resolvendo problemas de otimiza\u00e7\u00e3o de SQL | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"og:description\" content=\"Um dos grandes problemas em desenvolvimento de software est\u00e1 relacionado com a performance da aplica\u00e7\u00e3o e na grande maioria com SQL n\u00e3o otimizados. Com\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"article:published_time\" content=\"2010-03-19T20:47:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-05-22T03:18:40+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Icon_DBOptimizer.png\" \/>\n\t<meta property=\"og:image:width\" content=\"175\" \/>\n\t<meta property=\"og:image:height\" content=\"175\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:site\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\">\n\t<meta name=\"twitter:data1\" content=\"2 minutos\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"description\":\"Andreano Lanusse blog - artigos, tutoriais e v&iacute;deos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e t&eacute;cnicas de programa&ccedil;&atilde;o\",\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/www.andreanolanusse.com\/pt\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Icon_DBOptimizer.png\",\"contentUrl\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2010\/03\/Icon_DBOptimizer.png\",\"width\":175,\"height\":175},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#webpage\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/\",\"name\":\"Resolvendo problemas de otimiza\\u00e7\\u00e3o de SQL | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#primaryimage\"},\"datePublished\":\"2010-03-19T20:47:20+00:00\",\"dateModified\":\"2013-05-22T03:18:40+00:00\",\"description\":\"Um dos grandes problemas em desenvolvimento de software est\\u00e1 relacionado com a performance da aplica\\u00e7\\u00e3o e na grande maioria com SQL n\\u00e3o otimizados. Com\",\"breadcrumb\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"In\\u00edcio\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#webpage\"}}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#webpage\"},\"author\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"headline\":\"Resolvendo problemas de otimiza\\u00e7\\u00e3o de SQL\",\"datePublished\":\"2010-03-19T20:47:20+00:00\",\"dateModified\":\"2013-05-22T03:18:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#webpage\"},\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"image\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#primaryimage\"},\"keywords\":[\"Banco de dados\"],\"articleSection\":[\"SQL Tunning\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/resolvendo-problemas-de-otimizacao-de-sql\/#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\",\"name\":\"Andreano Lanusse\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"caption\":\"Andreano Lanusse\"},\"logo\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\"},\"sameAs\":[\"https:\/\/twitter.com\/andreanolanusse\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/834"}],"collection":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/comments?post=834"}],"version-history":[{"count":0,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/834\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media\/862"}],"wp:attachment":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media?parent=834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/categories?post=834"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/tags?post=834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}