- Há mais despesas gerais do que você mencionou. 20 bytes/linha pode estar próximo .
- Não confie em
SHOW TABLE STATUS
para dar "Linhas", useSELECT COUNT(*) ...
Observe como estava quase um fator de 2. - Calcule de outra forma:135245332480 / 3017513240 =45 bytes.
- De 45 bytes, deduzo que muitas das células são NULL?
- Cada coluna em cada linha tem sobrecarga de 1 ou 2 bytes.
- O
ROW_FORMAT
importa. TEXT
eBLOB
(etc) têm regras radicalmente diferentes dos tipos de dados simples.- Os índices ocupam muito mais do que os 6 bytes que você mencionou (veja sua outra postagem ).
- A estrutura BTree tem alguma sobrecarga. Quando carregado em ordem, 15/16 de cada bloco é preenchido (isso é mencionado em algum lugar nos documentos). Após o churn, o intervalo pode ser facilmente preenchido de 50 a 100%; um BTree gravita para 69% cheio (daí os 1,45 na outra postagem).
Reservando uma quantidade igual de espaço para backup...
- Não sei se é isso que eles estão fazendo.
- Se eles usam mysqldump (ou similar), não é uma fórmula segura -- o texto dump do banco de dados pode ser significativamente maior ou menor.
- Se eles usam LVM, eles têm espaço para um dump binário completo. Mas isso não faz sentido por causa do COW.
- (Então, desisto do terceiro trimestre.)
O serviço Cloud poderia estar fazendo algum tipo de compressão?