:: DEVELOPER ZONE
A Versão 3.22 do MySQL tem suporte para tabelas com limite de tamanho até
4G. Com o novo MyISAM no MySQL versão 3.23 o tamanho máximo foi
expandido até 8 milhões de terabytes (2 ^ 63 bytes). Com este tamanho de tabela
maior permitido, o tamanho máximo efetivo das tabelas para o banco de dados
MySQL é normalmente limitado pelas restrições do sistema operacional
quanto ao tamanho dos arquivos, não mais por limites internos do MySQL.
A seguinte tabela lista alguns exemplos do limite do tamanho de arquivos do sistema operacional:
| Sistema Operacional | Limite do tamanho do arquivo |
| Linux-Intel 32 bit | 2G, muito mais usando LFS |
| Linux-Alpha | 8T (?) |
| Solaris 2.5.1 | 2G (É possível 4GB com patch) |
| Solaris 2.6 | 4G (pode ser alterado com parâmetro) |
| Solaris 2.7 Intel | 4G |
| Solaris 2.7 ULTRA-SPARC | 8T (?) |
No Linux 2.2 você pode ter tabelas maiores que 2 GB usando o patch LFS para o sistema de arquivos ext2. No Linux 2.4 já existem patches para o sistema de arquivos ReiserFS para ter suporte a arquivos maiores. A maioria das distribuições atuais são baseadas no kernel 2.4 e já incluem todos os patches Suporte a Arquivos Grandes (Large File Support - LFS) exigidos. No entanto, o tamanho máximo disponível ainda depende de diversos fatores, sendo um deles o sistema de arquivos usado para armazenar as tabelas MySQL.
Para um visão mais detalhada sobre LFS no Linux, dê uma olha na página Andreas Jaeger's "Large File Support in Linux" em http://www.suse.de/~aj/linux_lfs.html.
Por padrão, o MySQL cria tabelas MyISAM com uma estrutura interna
que permite um tamanho máximo em torno de 4G.
Você pode verificar o tamanho máximo da tabela com o comando SHOW TABLE STATUS ou com o myisamchk -dv nome_tabela
See Secção 4.6.8, “Sintaxe de SHOW”.
Se você precisa de tabelas maiores que 4G (e seu sistema operacional suporta
arquivos grandes), a instrução CREATE TABLE permite as opções
AVG_ROW_LENGHT e MAX_ROWS. Use estas opções para criar uma
tabela que possa ter mais de 4GB.
See Secção 6.5.3, “Sintaxe CREATE TABLE”.
Você pode também alterar isso mais tarde com ALTER TABLE.
See Secção 6.5.4, “Sintaxe ALTER TABLE”.
Outros modos se contornar o limite do tamanho do arquivo das tabelas
MyISAM são os seguintes:
Se sua tabela grande será somente leitura, você poderá usar o myisampack
para unir e comprimir várias tabelas em uma. mysisampack normalmente
comprime uma tabela em pelo menos 50%, portanto você pode obter, com isso,
tabelas muito maiores.
See Secção 4.8.4, “myisampack, O Gerador de Tabelas Compactadas de Somente Leitura do MySQL”.
Outra opção para contornar o limite de tamanho de arquivos do sistema
operacional para arquivos de dados MyISAM usando a opção RAID.
See Secção 6.5.3, “Sintaxe CREATE TABLE”.
O MySQL incluí uma biblioteca MERGE que permite
acessar uma coleção de tabelas idênticas como se fosse apenas uma.
See Secção 7.2, “Tabelas MERGE”.
© 1995-2005 MySQL AB. All rights reserved.
