Как HSQLDB поддерживает индексы? - PullRequest
2 голосов
/ 05 марта 2012

Кто-нибудь имеет представление о том, как HSQLDB поддерживает индексы?Я не мог найти хорошую документацию с подробностями об этом.Я поддерживаю информацию о типе пары ключ-значение в таблицах hsqldb, где ключи и значения будут состоять из нескольких столбцов таблицы hsqldb.Я бы поместил индекс над столбцами ключей, я хотел бы знать, есть ли необходимость отдельно кэшировать мои пары ключ-значение на карте во время работы приложения, или индексы hsqldb будут работать аналогичным образом и возвращать мне значения длявводит время O (1).

Пример запроса в моей таблице будет выглядеть следующим образом:

select col1, col2 from table1 where col3=val3 and col4=val4;

Будет ли индекс для col3 и col4 извлекать результат для O (1)

1 Ответ

3 голосов
/ 05 марта 2012

Индекс, такой как приведенный ниже, используется с данным оператором выбора.

CREATE INDEX idx ON table1(col3, col4)

Хэш-карта в памяти может быть быстрее для извлечения, так как имеет меньше накладных расходов.Но вы должны сначала проверить и убедиться, что скорость SELECT соответствует вашим потребностям.

...