No livro "High Performance MySQL" Segunda Edição de Jeremy Zawodny & Peter Ziestev existe um método de alta velocidade e alto risco de adicionar uma coluna à tabela, independentemente do tamanho da tabela. É algo assim:
MÉTODO 1
Assumindo que db é o banco de dados onde xxx reside
Passo 1. CREATE TABLE zzz LIKE xxx;
Passo 2. ALTER TABLE zzz adicionar yyy smallint padrão NULL; - Não usando 0 por enquanto
Etapa 3. Execute o seguinte no sistema operacional
serviço mysql stop
cd / var / lib / mysql / db
mv xxx.frm xxxold.frm
cp zzz.frm xxx.frm
serviço mysql start
Etapa 4. Tente ver se xxx é acessível
Se isso não funcionar, tente isto:
MÉTODO 2
Passo 1. CREATE TABLE zzz LIKE xxx;
Passo 2. ALTER TABLE zzz add yyy smallint padrão 0;
Passo 3. INSERIR EM zzz (col1, col2, ... colN) SELECIONE col1, col2, ... colN FROM xxx;
Passo 4. ALTER TABLE xxx RENAME jjj;
Passo 5. ALTER TABLE zzz RENAME xxx;
O segundo método tem que funcionar. O primeiro é recomendado a partir daquele livro que mencionei.
Dê uma chance a eles !!!
P.S. antes de tentar o primeiro método, backup de tudo (instantâneo LVM)