Deixando os Dados com o Menor Tamanho Possível
Uma das otimizações mais básicas é tentar manter seus dados (e índices) utilizando o menor espaço possível no disco (e em memória). Isto pode fornecer grandes melhorias porque a leitura de disco é mais rápida e normalmente menos memória principal será usada. A indexação também exige menos recursos se for feita em colunas menores.
O MariaDB suporta vários diferentes tipos de tabelas e formatos de registros. Você pode ter um ótimo ganho de performance escolhendo o formato certo de tabela a ser usada. Leia Tipos de Tabela do MariaDB.
Pode-se obter melhor performance em uma tabela e minimizar espaço de armazenagem utilizando as técnicas listadas abaixo:
- Utilize os tipos mais eficientes (menores) sempre que possível. O MariaDB tem vários tipos especializados que economizam espaço em disco e memória.
- Utilize tipos inteiros menores se possível para obter tabelas menores. Por exemplo,
MEDIUMINT
normalmente é melhor queINT
. - Declare colunas para serem
NOT NULL
se possível. Isto deixa tudo mais rápido e você economiza um bit por coluna. Perceba que se você realmente precisa deNULL
nas suas aplicações, podem ser usados. Tente simplesmente não usá-la em todas as colunas por padrão. - Se você não possui nenhuma coluna de tamanho variável (
VARCHAR
,TEXT
ouBLOB
), um formato de registro de tamanho fixo para é utilizado. Isto é mais rápido mas infelizmente pode ocupar mais espaço. Leia "Formatos de TabelasMyISAM
". - O índice primário de uma tabela deve ser o mais curto possível. Isto torna a identificação de um registro fácil e eficiente.
- Para cada tabela, você deve decidir qual metódo de armazenamento/índice utilizar. Leia Tipos de Tabela do MariaDB.
- Crie somente os índices necessários. Índices são bons para recuperação mas ruins quando você precisa armazenar os dados rapidamente. Se na maioria das vezes você acessa uma tabela pesquisando em uma combinação de colunas, crie um índice para elas. A primeira parte do índice deve ser a coluna mais utilizada. Se você SEMPRE utiliza várias colunas, deve usar a coluna com mais duplicações em primeiro lugar para obter melhor compactação do índice.
- Se for melhor que uma coluna tenha um prefixo único nos primeiros caracteres, é melhor indexar somente este prefixo. O MariaDB suporta um índice em uma parte de uma coluna de caracteres. Índices menores são mais rápidos não somente porque eles exigem menos espaço em disco mas também porque eles irão fornecer a você mais acerto no cache de índice e isto diminui acessos a disco. Leia "Parâmetros de Sintonia do Servidor".
- Em algumas circunstâncias pode ser benéfico dividir uma tabela que é varrida frequentemente em duas. Isto é verdade especificamente se a tabela tiver um formato dinâmico e for possível utilizar um formato de tabela estático que possa ser usada para encontrar os registros relevantes quando se fizer uma varredura da tabela.