Для VoltDB, создавая таблицу, я использую первичный ключ для предотвращения нарушения содержимого. Это автоматически создает индекс первичного ключа, который является деревом баланса. Я также создаю индекс Hash для таблиц, и я хочу использовать индекс хэша и не использовать индекс первичного ключа. Есть ли какой-либо параметр, который я могу использовать для использования индекса Hash во время выполнения запросов.Как предотвратить индексирование первичного ключа по умолчанию, не используется в VoltDB?
ответ
VoltDB использует соглашение, чтобы определить, следует ли использовать индекс красно-черного дерева или индекс хеширования. Соглашение должно включать подстроку «hash» (без учета регистра) в пределах имени индекса. Это может быть префикс, суффикс или где-то посередине имени.
По моему опыту, поскольку индекс полностью находится в памяти, очень мало различий в производительности между деревом и индексом хэша. Возможно, стоит попробовать в обоих направлениях и сравнить производительность и использование пространства, чтобы решить, что лучше.
Кроме того, существует несколько стилей синтаксиса для объявления первичного ключа таблицы. Вам не нужно указывать его имя, но вы можете, что позволит вам объявить, хотите ли вы, чтобы он был индексом дерева или хэша. Не должно быть необходимости создавать повторяющиеся индексы просто потому, что индекс первичного ключа был не таким, каким вы этого хотели. Ниже приведены два примера:
CREATE TABLE Version (
Major SMALLINT NOT NULL,
Minor SMALLINT NOT NULL,
baselevel INTEGER NOT NULL,
ReleaseDate TIMESTAMP,
CONSTRAINT Version_Hash_Idx PRIMARY KEY
(Major, Minor, Baselevel) -- hash index
);
CREATE TABLE Version (
Major SMALLINT NOT NULL,
Minor SMALLINT NOT NULL,
baselevel INTEGER NOT NULL,
ReleaseDate TIMESTAMP,
PRIMARY KEY (Major, Minor, Baselevel) -- default tree index
);
- 1. Индекс первичного ключа не используется
- 2. столбец первичного ключа не отображается по умолчанию
- 3. JPA - Как использовать значение по умолчанию для первичного ключа?
- 4. изменения ключа первичного значения по умолчанию в поколении Laravel модели
- 5. Разделены ли процедуры voltdb по умолчанию?
- 6. Запрос с поля первичного ключа используется дважды
- 7. Может ли EF предотвратить генерацию первичного ключа
- 8. изменить имя по умолчанию первичного ключа в workbench
- 9. Значение первичного ключа postgres по умолчанию в созданном экземпляре модели
- 10. Как предотвратить дублирование записей в SqlBulkCopy, когда нет первичного ключа
- 11. понимание структуры первичного ключа по нескольким столбцам
- 12. Установщик первичного ключа по умолчанию и генератор, сгенерированный Service Builder
- 13. Оптимизация запросов MySQL, индекс первичного ключа не используется?
- 14. Как долго используется размер ключа по умолчанию, используемый mcrypt_blowfish?
- 15. Ввести значение столбца первичного ключа в столбец не первичного ключа
- 16. Джанго OneToField ссылка по умолчанию «ид» вместо фактического первичного ключа
- 17. Ошибка восстановления первичного ключа MySQL первичного ключа
- 18. Нет первичного ключа и составного первичного ключа
- 19. Значение по умолчанию для первичного ключа SQL с char
- 20. аргумент по умолчанию не используется
- 21. MySQL значение столбцов по умолчанию это значение по умолчанию из первичного ключа другой таблицы
- 22. Значение по умолчанию для хэша не используется
- 23. Написание HTML-клиента LightSwitch, как предотвратить проверку первичного ключа?
- 24. Как изменить имя первичного ключа в Doctrine
- 25. Как изменить колонку первичного ключа в грабелях?
- 26. Как предотвратить использование Slick для обновления столбца первичного ключа?
- 27. событий предотвратить по умолчанию
- 28. В Rails/ActiveRecord 3, как изменить тип первичного ключа по умолчанию для MySQL?
- 29. Python словарь, который по умолчанию используется для ключа?
- 30. Как предотвратить индексирование сайта разработки?