{"id":546,"date":"2015-05-12T14:26:44","date_gmt":"2015-05-12T17:26:44","guid":{"rendered":"https:\/\/www.kinghost.com.br\/wiki\/?post_type=article&#038;p=546"},"modified":"2021-06-17T09:06:03","modified_gmt":"2021-06-17T12:06:03","slug":"otimizar-banco-de-dados","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/otimizar-banco-de-dados\/","title":{"rendered":"Como otimizar as consultas do seu banco de dados"},"content":{"rendered":"\n<p><em>Este artigo visa destacar algumas pr\u00e1ticas simples para ajudar voc\u00ea a otimizar seu banco de dados para aumentar a performance da sua aplica\u00e7\u00e3o.<\/em><\/p>\n\n\n\n<p>Precisar otimizar seu banco de dados?<br>Este artigo visa destacar algumas pr\u00e1ticas simples de otimiza\u00e7\u00e3o de uma base de dados, a fim de ajudar voc\u00ea a otimizar sua aplica\u00e7\u00e3o como um todo.<br>Voc\u00ea precisa estar ciente de que \u00e9 necess\u00e1rio certo conhecimento em banco de dados para realizar as otimiza\u00e7\u00f5es.<br>Caso n\u00e3o tenho o conhecimento necess\u00e1rio, procure um profissional da \u00e1rea.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"USE_INDICES\"><\/span>USE \u00cdNDICES<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u00cdndices s\u00e3o identifica\u00e7\u00f5es que ajudam a tornar a consulta a um dado do banco muito mais r\u00e1pida. Funciona semelhante ao sum\u00e1rio de um livro, onde voc\u00ea encontra a p\u00e1gina correta de acordo com o assunto e n\u00e3o precisa ficar passando folha por folha at\u00e9 encontrar a desejada. Com o uso dos \u00edndices, se faz que a cada opera\u00e7\u00e3o de atualiza\u00e7\u00e3o de dados seja tamb\u00e9m feita uma atualiza\u00e7\u00e3o dos \u00edndices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"UTILIZE_O_COMANDO_OPTIMIZE\"><\/span>UTILIZE O COMANDO OPTIMIZE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>O comando <strong>Optimize table<\/strong> deve ser utilizado em tabelas que s\u00e3o atualizadas frequentemente e que tem manipula\u00e7\u00f5es de registros (altera\u00e7\u00e3o e exclus\u00e3o).<br>Ele otimiza a leitura e grava\u00e7\u00e3o do disco durante a recupera\u00e7\u00e3o dos dados atrav\u00e9s de um processo de desfragmenta\u00e7\u00e3o. Quando h\u00e1 tamanhos vari\u00e1veis dentro das colunas de uma tabela, o uso \u00e9 mais indicado ainda, visto que o que mais fragmenta uma tabela, s\u00e3o os campos de comprimento vari\u00e1vel (VARCHAR).<br>O uso do comando \u00e9 bem simples e voc\u00ea pode encontrar mais informa\u00e7\u00f5es na documenta\u00e7\u00e3o oficial em: <a rel=\"noopener noreferrer\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.1\/en\/optimize-table.html\" target=\"_blank\">dev.mysql.com\/doc\/optimize_table<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OPTIMIZE TABLE nome_da_tabela;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SIMPLIFIQUE_AS_CONSULTAS\"><\/span>SIMPLIFIQUE AS CONSULTAS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Remova par\u00eanteses ( ) desnecess\u00e1rios em cl\u00e1usulas WHERE;<br>Utilize m\u00faltiplas linhas com uma \u00fanica instru\u00e7\u00e3o SQL;<br>Utilize <em>SELECT COUNT(1)<\/em> e n\u00e3o <em>SELECT COUNT(*)<\/em> para contar valores especificados e n\u00e3o generalizar a consulta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ATENTE-SE_AS_CONEXOES_AO_BANCO\"><\/span>ATENTE-SE \u00c0S CONEX\u00d5ES AO BANCO<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Evite abrir duas conex\u00f5es com o mesmo servidor;<br><strong>Sempre<\/strong> feche as conex\u00f5es quando n\u00e3o precisar fazer uso delas;<br>Evite utilizar conex\u00f5es persistentes, pois as mesmas criam diversas conex\u00f5es simult\u00e2neas com a base;<br>Utilize <b>PDO<\/b> para realizar conex\u00e3o com o servidor atrav\u00e9s da sua linguagem de programa\u00e7\u00e3o.<\/p>\n","protected":false},"author":9,"featured_media":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[11],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/546"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=546"}],"version-history":[{"count":1,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/546\/revisions"}],"predecessor-version":[{"id":6602,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/546\/revisions\/6602"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=546"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=546"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}