0

Традиционная реализация B-дерева имеет сложность пространства O (n) [1].Сложная сложность индекса B-дерева в базе данных

Предположим, что в базе данных (независимо от реализации, просто рассмотрим общий случай), у меня есть таблица из 10 ГБ данных, в настоящее время размер индекса составляет 1 ГБ, поэтому я могу предположить, что если база данных выросла до 100 ГБ, мой индексный размер будет 10 ГБ?

+0

Размер индекса, будет пропорционален столбцу индекса! –

ответ

1

Вы ничего не можете сказать «независимо от реализации».

Если индекс является чистым B-деревом, то он теоретически должен быть линейным по количеству и размеру ключей, индексированных с некоторым коэффициентом вымывания для коэффициентов заполнения. Однако вряд ли это будет чистое B-дерево. Во-первых, это может быть дерево B + или другой вариант. Дерево B + добавило бы очень малый логарифмический термин к вычислению размера. Это увеличение вряд ли будет существенным. Что еще более важно, большинство реализаций не выполняют теоретические операции B-дерева для поддержания скорости заполнения. Например, удаление может быть реализовано, просто оставив открытый слот, который будет использоваться более поздней вставкой. При большом количестве операций и с небольшой неудачей эффективность представления индекса может ухудшиться, поэтому индекс может увеличиться. Если ваш индекс на 10 ГБ плотно упакован, а ваш 100 ГБ после года работы, он может быть больше, чем вы ожидаете.

В прямом ответе на ваш вопрос - нет. Я не думаю, что ваше предположение безопасно. Более того, поскольку индекс может меняться со временем, а не из-за нелинейности в базовой структуре данных.

 Смежные вопросы

  • Нет связанных вопросов^_^