Я думаю, вам нужно будет дать больше подробностей, чтобы получить хороший ответ. Какую производительность вы ищете и на каком оборудовании / ОС? Какие вопросы вы собираетесь делать?
Миллион строк не так уж и много для приличного сервера баз данных. Если вы хотите максимально возможной производительности извлечения, вы можете использовать таблицу в памяти, если у вас достаточно памяти для всего этого.
Я вижу, что вы немного обновили свой вопрос, чтобы сказать, что вы используете HSQLDB и Hibernate. Я бы рискнул предположить, что ваши проблемы с производительностью, скорее всего, связаны с Hibernate, а не с HSQLDB.
Согласно http://en.wikipedia.org/wiki/HSQLDB, выбор типа таблицы также может оказать большое влияние на производительность ...