Missory, неплохая база получится, однозначна наращивать оперативку на сервере нужно
За год гигабайт - это в одной таблице?
Если в основном просмотр информации - на блокировках можно особо не заморачиваться, и кроме того можно не экономить на индексах - наделать их на разные случаи жизни. Конкретно по поводу быстродействия, если не касаться оптимальности запросов, то тут разве что такие советы:
1. Однозначно добавлять на сервак памяти. Даже гиговая база на 512 мегах оперативки ворочаться будет не очень быстро, а еще там есть и другие базы.
2. Если за год гигабайт в одной таблице - то видимо все таки придется разделять по разным таблицам, хотя бы по годам. Как вариант - нарабатывать вторичные таблицы, в разрезе нужных пользователям данных, и работать дальше уже со вторичными таблицами
Не увидев системы что то более конкретно трудно посоветовать