|
Битмап индекс
|
|||
---|---|---|---|
#18+
Здравствуйте. Решил тут поизучать данный вопрос. Почитал про oracle , как там все устроено. Смутил такой момент. Как я понял части индекса хранятся блоками. И в загловке блока есть два поля rowid. Start и end соответственно. Что в принипе тоже логично. Хотя еще осталось понять зачем концептуально бить на блоки. Но вопрос не в этом. На всех найденных картинках, относящихся к этим индексам, start и end изображаются как то так. 123:4 126:6 . Первая цифра (если упрощенно) это номер страницы. Вторая— номер записи на странице. Только единственное не пойму— почему начальный номер страницы и конечный отличаются. Как сервер поймет сколько записей лежит на 123 странице и сколько на 125. Ну если только вычитает эти страницы. Что не есть гуд ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 22:21 |
|
Битмап индекс
|
|||
---|---|---|---|
#18+
Swvзачем концептуально бить на блоки.Так уж исторически сложилось, что и чтение, и запись выполняются блоками. На уровне HDD - минимальный квант операции = сектор, на уровне файловой системы = кластер (кратен сектору), на уровне операционной системы = буфер (кратен кластеру)... СУБД не исключение - работа с целыми квантами снижает накладные расходы. SwvКак сервер поймет сколько записей лежит на 123 странице и сколько на 125 У блока есть заголовок. Внутренне блок есть мини-файловая система. SwvЧто не есть гудС чего бы? накладные расходы на такие вычисления - ничтожны. Модератор: Тема перенесена из форума "Программирование". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2019, 08:02 |
|
|
start [/forum/topic.php?fid=52&fpage=82&tid=1882705]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 138ms |
0 / 0 |