Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как происходит операция Index Seek на самом нижнем уровне? / 25 сообщений из 95, страница 1 из 4
17.08.2011, 01:17
    #37398667
Index Seek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Допустим есть таблица без PK и по одному из её полей построен индекс. Как происходит операция Index Seek на самом нижнем уровне?
Проходим по узлам дерева до листьев, а там лежит служебное rowid и номер страницы в которой искомая запись, и по этому номеру страницы вычисляем смещение с которого нужно прочитать данные из файла БД?
...
Рейтинг: 0 / 0
17.08.2011, 01:18
    #37398668
Index Seek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Ну и интересует как это реализовано в различных СУБД и есть ли принципиальные отличия?
...
Рейтинг: 0 / 0
17.08.2011, 08:26
    #37398789
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
...
Рейтинг: 0 / 0
17.08.2011, 09:48
    #37398913
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 17.08.2011 2:18, Index Seek wrote:

> Ну и интересует как это реализовано в различных СУБД и есть ли принципиальные
> отличия?

В разных СУБД по-разному.
Есть принципиальные отличия.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
17.08.2011, 14:34
    #37399614
Index Seek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
pkarklin, спасибо!

MasterZiv
Ок. А какие основные отличия?
...
Рейтинг: 0 / 0
18.08.2011, 10:51
    #37400982
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Index Seekи по этому номеру страницы вычисляем смещение с которого нужно прочитать данные из файла БД?
смещение, конечно, да, но обычно имеется в виду размер_страницы * номер_страницы . И читаются обычно страницы целиком.
...
Рейтинг: 0 / 0
19.08.2011, 11:52
    #37403183
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 17.08.2011 15:34, Index Seek wrote:

> MasterZiv
> Ок. А какие основные отличия?

В общем-то кратко -- два подхода:
хранить в листах индекса ROWID -- некий физический адрес, по которому можно
найти запись (типа НОМЕР_ФАЙЛА:НОМЕР_СТРАНИЦЫ::НОМЕР_ЗАПИСИ). В таком случае
после поиска индексной записи в индексе производится чтение записи по
физическому адресу.

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2011, 16:15
    #37403779
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
MasterZivВ общем-то кратко -- два подхода:Как я понял, человек спрвшивает про варианты реализации в первом случае.
Index Seekа там лежит служебное rowid и номер страницы в которой искомая запись, и по этому номеру страницы вычисляем смещение с которого нужно прочитать данные из файла БД?В MSSQL rowid и означает номер страницы. В других СУБД - не знаю...
...
Рейтинг: 0 / 0
19.08.2011, 16:33
    #37403812
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
alexeyvgВ MSSQL rowid и означает номер страницы.
О как... Одна запись на страницу? Шикарно живёте...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2011, 17:03
    #37403882
Зайцев Фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Dimitry SibiryakovО как... Одна запись на страницу? Шикарно живёте...

http://msdn.microsoft.com/ru-ru/library/ms190969%28v=SQL.100%29
...
Рейтинг: 0 / 0
19.08.2011, 18:11
    #37404003
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 19.08.2011 17:15, alexeyvg wrote:

> В MSSQL rowid и означает номер страницы. В других СУБД - не знаю...

В MSSQL rowid и означает номер страницы и номер записи на этой странице.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2011, 18:17
    #37404011
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Dimitry SibiryakovalexeyvgВ MSSQL rowid и означает номер страницы.
О как... Одна запись на страницу? Шикарно живёте...

это он пошутил так


Указатель строится на основе идентификатора файла (ID), номера страницы и номера строки на странице. Весь указатель целиком называется идентификатором строки (RID).
...
Рейтинг: 0 / 0
19.08.2011, 19:34
    #37404089
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
MasterZiv хранить в листах индекса значения полей уникального кластерного индекса -- первичного ключа таблицы. В таком случае после поиска индексной записи значения PK используются для повторного поиска нужной индексной записи в первичном ключе

Ну, "уникальный кластерный индекс" - вещь сама по себе весьма небесспорная, но просто интересно - где на практике применяется описанный угробищный подход?
...
Рейтинг: 0 / 0
19.08.2011, 19:52
    #37404111
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
softwarerпросто интересно - где на практике применяется описанный угробищный подход?

Paradox.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2011, 19:53
    #37404115
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
Dimitry Sibiryakovsoftwarerпросто интересно - где на практике применяется описанный угробищный подход?

Paradox.

(побрызгал святой водой)
...
Рейтинг: 0 / 0
19.08.2011, 20:08
    #37404126
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
softwarerпросто интересно - где на практике применяется описанный угробищный подход?
Если убрать слово "кластерный", то это Мускль+ИнноДБ.
...
Рейтинг: 0 / 0
19.08.2011, 20:11
    #37404131
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
tanglirsoftwarerпросто интересно - где на практике применяется описанный угробищный подход?
Если убрать слово "кластерный", то это Мускль+ИнноДБ.И, кстати, IOT-ы в Оракле разве не также сделаны?
...
Рейтинг: 0 / 0
19.08.2011, 20:20
    #37404139
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
miksofttanglirпропущено...
Если убрать слово "кластерный", то это Мускль+ИнноДБ.И, кстати, IOT-ы в Оракле разве не также сделаны?
А хз, если честно. Я не зря сказал "на практике", потому как мелькнула та же мысль :) IOT-ы в оракле используются не то чтобы часто, и совершенно точно с однозначной рекомендацией "без левых индексов".
...
Рейтинг: 0 / 0
19.08.2011, 20:26
    #37404145
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
miksoftИ, кстати, IOT-ы в Оракле разве не также сделаны?
Посмотрел, как. Да нет, таки заметно получше :)
...
Рейтинг: 0 / 0
19.08.2011, 20:28
    #37404146
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
softwarermiksoftИ, кстати, IOT-ы в Оракле разве не также сделаны?
Посмотрел, как. Да нет, таки заметно получше :)Можно в двух словах разницу?
...
Рейтинг: 0 / 0
19.08.2011, 20:32
    #37404149
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
miksoftМожно в двух словах разницу?
Если над IOT строится вторичный индекс, то его значением является UROWID, включающее в себя как физический адрес блока, так и представление первичного ключа. При доступе по вторичному индексу СУБД берёт адрес, дёргает блок, и если не находит в нём нужной записи, то использует представление для поиска по базовому индексу. Таким образом до тех пор, пока строчки в IOT не начинают часто мигрировать, доступ к ним оказывается вполне эффективным.
...
Рейтинг: 0 / 0
19.08.2011, 20:35
    #37404153
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
softwarerUROWID, включающее в себя как физический адрес блока , так и представление первичного ключа.Про этот момент забыл. Тогда согласен, что в Оракле оно получше сделано :)
...
Рейтинг: 0 / 0
19.08.2011, 23:36
    #37404241
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 08/19/2011 08:34 PM, softwarer wrote:

> Ну, "уникальный кластерный индекс" - вещь сама по себе весьма небесспорная, но
> просто интересно - где на практике применяется описанный угробищный подход?

Про небесспорность абсолютно согласен, потребители такого подхода (что я знаю)
-- MSSQLServer, InnoDB.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.08.2011, 23:38
    #37404242
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 08/19/2011 09:08 PM, tanglir wrote:

> Если убрать слово "кластерный", то это Мускль+ИнноДБ.

Зачем убирать ? В InnoDB вообще-то других индексов, кроме кластерных,
вообще не существует. Там всё в одном здоровом индексном дереве.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.08.2011, 00:22
    #37404266
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит операция Index Seek на самом нижнем уровне?
On 08/19/2011 09:32 PM, softwarer wrote:

> базовому индексу. Таким образом до тех пор, пока строчки в IOT не начинают часто
> мигрировать, доступ к ним оказывается вполне эффективным.

Как IOT расшифровывается?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как происходит операция Index Seek на самом нижнем уровне? / 25 сообщений из 95, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]