{"id":498,"date":"2022-07-18T10:31:12","date_gmt":"2022-07-18T13:31:12","guid":{"rendered":"https:\/\/xaxowareti.com.br\/?p=498"},"modified":"2022-07-18T10:31:12","modified_gmt":"2022-07-18T13:31:12","slug":"desempenho-mysql","status":"publish","type":"post","link":"https:\/\/xaxowareti.com.br\/?p=498","title":{"rendered":"Desempenho MYSQL"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Desempenho MYSQL<\/h1>\n\n\n\n<p>Uma grande quantidade de opera\u00e7\u00f5es de insert, update ou delete podem fazer com que a tabela fique fragmentada, podendo causar alto uso de espa\u00e7o TMP, I\/O de disco e processamento, gerando lentid\u00e3o e podendo causar uma sobrecarga, podendo ser necess\u00e1ria uma manuten\u00e7\u00e3o em sua base de dados, neste artigo daremos algumas dicas, acompanhe logo a baixo:<\/p>\n\n\n\n<p>Optimize Table<\/p>\n\n\n\n<p>O comando \u2018optimize table\u2019, \u00e9 respons\u00e1vel por reorganizar o armazenamento f\u00edsico dos dados de \u00edndices associados a tabela, para reduzir espa\u00e7o de armazenamento e melhorar a efici\u00eancia de I\/O quando a tabela \u00e9 acessada. As mudan\u00e7as exatas feitas em cada tabela dependem do tipo de storage engine utilizado pela tabela.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>&nbsp;&nbsp; Se a tabela tem linhas deletadas ou divididas, repara a tabela.<\/td><\/tr><tr><td>&nbsp;&nbsp; Se as p\u00e1ginas de \u00edndice n\u00e3o est\u00e3o organizadas, as organiza.<\/td><\/tr><tr><td>&nbsp;&nbsp; Se as estat\u00edsticas da tabela n\u00e3o est\u00e3o atualizadas (e a repara\u00e7\u00e3o n\u00e3o pode ser completada organizando o \u00edndice), as atualiza.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para tabelas InnoDB, o OPTIMIZE TABLE \u00e9 ligado ao ALTER TABLE, que recria a tabela para atualizar as estat\u00edsticas do \u00edndice e liberar espa\u00e7o n\u00e3o utilizado no \u00edndice clusterizado.<\/p>\n\n\n\n<p>Verificando se suas tabelas est\u00e3o fragmentadas<\/p>\n\n\n\n<p>Acesse sua&nbsp;<a href=\"https:\/\/phpmyadmin.locaweb.com.br\/\" target=\"_blank\" rel=\"noreferrer noopener\">base de dados<\/a>&nbsp;execute o seguinte comando para verificar se sua base esta fragmentada:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH, DATA_FREE, (DATA_FREE*100\/DATA_LENGTH) as PRC FROM INFORMATION_SCHEMA.TABLES WHERE (DATA_FREE*100\/DATA_LENGTH);<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>O comando acima mostra no campo PRC o percentual de fragmenta\u00e7\u00e3o levando em considera\u00e7\u00e3o o \u2018DATA_LENGTH\u2019 e o \u2018DATA_FREE\u2019, teoricamente quanto maior o datafree mais fragmentada est\u00e1 a tabela, por\u00e9m este comando mostra tamb\u00e9m as tabelas InnoDB, onde o \u2018datafree\u2019 pode ter um valor maior e fixo, isto n\u00e3o indica fragmenta\u00e7\u00e3o.<\/p>\n\n\n\n<p>Para verificar as engines das tabelas e tamb\u00e9m poder visualizar o \u2018DATA_FREE\u2019 voc\u00ea pode rodar o seguinte comando:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>SHOW TABLE STATUS;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Qualquer valor no campo \u2018DATA_FREE\u2019 das tabelas MyIsam \u00e9 ind\u00edcio de fragmenta\u00e7\u00e3o.<\/p>\n\n\n\n<p>Desfragmentado as tabelas MyIsam, execute&nbsp;o seguinte comando:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>optimize table NOMEDATABELA;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para reindexar as tabelas InnoDB:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>ALTER TABLE `NOMEDATABELA` ENGINE=InnoDB;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para otimizar todas as tabelas voc\u00ea pode rodar o seguinte comando&nbsp;<a href=\"http:\/\/wiki.locaweb.com.br\/pt-br\/SSH\" target=\"_blank\" rel=\"noreferrer noopener\">SSH<\/a>: (a op\u00e7\u00e3o auto-repair faz com que dados corrompidos sejam descartados, caso queira pode omitir \u2018\u2013auto-repair\u2019 do comando)<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>mysqlcheck -h hostname -u nomedabase -psenhadabase nomedabase \u2013optimize \u2013auto-repair;<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Desempenho MYSQL Uma grande quantidade de opera\u00e7\u00f5es de insert, update ou delete podem fazer com que a tabela fique fragmentada, podendo causar alto uso de espa\u00e7o TMP, I\/O de disco e processamento, gerando lentid\u00e3o e podendo causar uma sobrecarga, podendo ser necess\u00e1ria uma manuten\u00e7\u00e3o em sua base de dados, neste artigo daremos algumas dicas, acompanhe [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=498"}],"version-history":[{"count":0,"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions"}],"wp:attachment":[{"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xaxowareti.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}