{"id":336,"date":"2012-06-13T15:59:03","date_gmt":"2012-06-13T18:59:03","guid":{"rendered":"http:\/\/wagnerbianchi.com\/blog\/?p=336"},"modified":"2012-06-13T16:36:20","modified_gmt":"2012-06-13T19:36:20","slug":"verificando-o-tamano-dos-indices-de-um-banco-de-dados","status":"publish","type":"post","link":"http:\/\/wagnerbianchi.com\/blog\/?p=336","title":{"rendered":"Verificando o tamanho de \u00edndices e dados!"},"content":{"rendered":"<p>Muitas s\u00e3o as tarefas di\u00e1rias (e tamb\u00e9m noturnas) que um DBA dever\u00e1 realizar para trazer o seu servidor de bancos de dados em perfeito funcionamento, acess\u00edvel pelos clientes e aplica\u00e7\u00f5es que acessam dados em um r\u00edtimo fren\u00e9tico como nos dias de hoje. Um dos pontos fortes que ter\u00e1 sempre grande aten\u00e7\u00e3o \u00e9 quanto \u00e0 performance de resposta \u00e0 leituras e escritas que um servidor de bancos de dados poder\u00e1 ter. O MySQL \u00e9 um SGBD muito flex\u00edvel, completamente customiz\u00e1vel e tun\u00e1vel, com uma vasta gama de recursos dispon\u00edveis para a busca de melhorias no quesito performance.<\/p>\n<p>Quando se trabalha com um banco de dados, cujas suas tabelas s\u00e3o controladas pelo Storage Engine padr\u00e3o at\u00e9 a vers\u00e3o 5.1, o MyISAM, poderemos facilmente manter os dados de \u00edndices em mem\u00f3ria por mais tempo poss\u00edvel, ajustando o MySQL para armazenar um quantidade X de dados destes \u00edndices em <em>key_buffer<\/em>, valor de mem\u00f3ria atribu\u00eddo \u00e0 vari\u00e1vel <em>key_buffer_size<\/em>. Quanto mais os dados est\u00e3o em mem\u00f3ria, menos buscas em disco (<em>disk-seeks<\/em>), menos <em>overhead<\/em>, menos processamento.<\/p>\n<p>Para visualizar o tamanho dos \u00edndices de uma base de dados, consultamos a tabela <code>TABLES<\/code> do dicion\u00e1rio de dados, <code>INFORMATION_SCHEMA<\/code> do MySQL \u2013 note que a maioria das tabelas que comp\u00f5em o dicion\u00e1rio de dados do MySQL \u00e9 controlada pelo engine <code>MEMORY<\/code>, com excess\u00e3o de algumas que s\u00e3o controladas pelo MyISAM. A seguinte consulta trar\u00e1 o tamanho total dos \u00edndices, localizados nos arquivos \u201c<code>.MYI<\/code>\u201d e o tamanho total dos dados, localizados nos arquivos \u201c<code>.MYD<\/code>\u201c:<\/p>\n<div style=\"width: 467px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\" \" title=\"Consulta Tamanho de \u00cdndices e Dados\" src=\"http:\/\/wbianchi.files.wordpress.com\/2010\/06\/index_data_size.png\" alt=\"Consulta Tamanho de \u00cdndices e Dados - utiliznado o INFORMATION_SCHEMA!\" width=\"457\" height=\"148\" \/><p class=\"wp-caption-text\">Consulta Tamanho de \u00cdndices e Dados<\/p><\/div>\n<p>Como este \u00e9 um teste e na minha inst\u00e2ncia de MySQL eu n\u00e3o tenho nenhum banco de dados que eu possa revelar informa\u00e7\u00f5es, o tamanho dos \u00edndices e o tamanho dos dados est\u00e3o zerados, mas, quando voc\u00ea rodar esta consulta em sua base de dados de produ\u00e7\u00e3o, ser\u00e1 poss\u00edvel recuperar informa\u00e7\u00f5es diferentes de zero. A partir disso, teremos ent\u00e3o o tamanho necess\u00e1rio de mem\u00f3ria para come\u00e7ar a trabalhar as m\u00e9tricas de performance para o MyISAM, baseado no key_buffer_size. Dependendo do tamanho do seu hardware, trabalhar outros pontos do MySQL ser\u00e1 mais que necess\u00e1rio para poder dar realmente poder de resposta para o servidor de bancos de dados para que as trocas sejam bem feitas.<\/p>\n<p>Uma dica al\u00e9m das que j\u00e1 foram dadas, mantenha as estat\u00edsticas dos seus bancos de dados o mais atualizadas poss\u00edvel com ANALYZE e\/ou OPTIMIZE.<\/p>\n<p>D\u00favidas? Aguardo seu coment\u00e1rio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muitas s\u00e3o as tarefas di\u00e1rias (e tamb\u00e9m noturnas) que um DBA dever\u00e1 realizar para trazer o seu servidor de bancos de dados em perfeito funcionamento, acess\u00edvel pelos clientes e aplica\u00e7\u00f5es que acessam dados em um r\u00edtimo fren\u00e9tico como nos dias de hoje. Um dos pontos fortes que ter\u00e1 sempre grande aten\u00e7\u00e3o \u00e9 quanto \u00e0 performance [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,1],"tags":[],"_links":{"self":[{"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/336"}],"collection":[{"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=336"}],"version-history":[{"count":5,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":339,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/336\/revisions\/339"}],"wp:attachment":[{"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/wagnerbianchi.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}