Количество страниц, необходимых для индекса - PullRequest
1 голос
/ 04 декабря 2010

Я пытаюсь определить, сколько страниц потребуется, если я буду индексировать carID в следующей таблице.

employeeID | имя | carID

    1      | John     |  null
    2      | Jack     |   52
    3      | Rob      |   42

и так далее ...

Если бы каждая страница могла содержать, скажем, 100 указателей записи, а таблица имела 3000 строк. Тогда я знаю, если бы не было нулевых значений, тогда было бы: (3000/100) = 30 страниц листовых узлов. Всего 31 страница для индексации carID.

Однако я не уверен, что произойдет, если есть нулевые значения. Конечно, вам не нужно индексировать их? Допустим, если в таблице автомобилей было только 1000 автомобилей, то присутствовали 2000 нулевых значений. Требуется ли для индекса carID (1000/100) = 10 страниц?

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 декабря 2010

Индексы представлены с использованием B-дерева структур, а не линейных отсортированных списков, поэтому вычисление размера индекса, вероятно, невозможно с простой формулой.

Обновление: обратите вниманиечто это не правило, что значения NULL не индексируются.Это зависит от механизма базы данных, как описано здесь: http://en.wikipedia.org/wiki/Null_(SQL)#Effect_on_index_operation

0 голосов
/ 04 декабря 2010

NULL значения не индексируются.

Точное количество страниц зависит от конкретной базы данных, которую вы используете, и, вероятно, от настроек базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...