Hi,
1.2 million records is quite a considerable amount of records when the number of indexes are high such as 21 in your case. Try not creating indexes for fields which are not used frequently in queries (such as in JOINs or WHERE conditions), or on fields which are of a large size. This would only take up more space on your hard disk and more time in rebulding indexes (such as what's happening right now) and not be used at all.
Also in a separate note, are you using FILL FACTOR = 100, since you intend to use this table as readonly?
Regards

Gogula G. Aryalingam (MVP - SQL Server)