A especificação de hardware para um banco de dados enorme é algo que é incrivelmente difícil de acertar. Nós temos vários bancos de dados grandes (9M + registros em algumas tabelas) e um grande banco de dados (300M + registros na maioria das tabelas), e mesmo para nós tem sido um pouco um hit e miss affair.
Mas tão importante quanto as especificações de hardware é o seu esquema de banco de dados, e como Ira mencionou, os índices são os melhores neste cenário.
Demora muito mais do que 8 horas para criar o índice, e a tabela deve ser completamente desbloqueada, pois a criação de um índice bloqueia a tabela inteira. Um índice que leva muito tempo para criar geralmente é um sinal de uma tabela bloqueada, portanto, certifique-se de que nada mais esteja usando o banco de dados ao tentar fazê-lo.
O que tornará as coisas mais difíceis para você neste cenário é a velocidade do seu disco. Um único disco rígido de 5400 RPM (já vi laptops com velocidades de fuso ainda mais lentas, 5400 é muito bom para um laptop) levará muito mais tempo para carregar os dados em cache para indexação do que uma unidade de 15.000 RPM. Como comparação, nosso servidor SQL tem 14 discos de 15.000 RPM (para um total de 210.000 RPM, ou uma velocidade de fuso 38x mais rápida, e eu suponho uma velocidade de acesso 50x mais rápida na vida real) e eu esperaria criar um índice em Registros de 200M ainda levariam mais de uma hora.
Então, pegue o SSD se puder. Isso ajudará dramaticamente. O ganho de desempenho de um SSD sobre uma unidade de 5400 RPM é quase grande demais para medir.
Se você puder, consiga 4Gb de RAM. Não só ajudará a velocidade do seu servidor SQL (não tanto quanto o SSD, mas ainda ajudará), mas a partir da minha (breve) experiência com o Matlab, ele também ajudará.