powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как происходит операция Index Seek на самом нижнем уровне?
95 сообщений из 95, показаны все 4 страниц
Как происходит операция Index Seek на самом нижнем уровне?
    #37398667
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим есть таблица без PK и по одному из её полей построен индекс. Как происходит операция Index Seek на самом нижнем уровне?
Проходим по узлам дерева до листьев, а там лежит служебное rowid и номер страницы в которой искомая запись, и по этому номеру страницы вычисляем смещение с которого нужно прочитать данные из файла БД?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37398668
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и интересует как это реализовано в различных СУБД и есть ли принципиальные отличия?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37398789
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37398913
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 17.08.2011 2:18, Index Seek wrote:

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Paradox.

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

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

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

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

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

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

Как IOT расшифровывается?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404292
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКак IOT расшифровывается?
В Вашей терминологии это таблица с единственным кластерным индексом.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404310
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivOn 08/19/2011 09:08 PM, tanglir wrote:

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

Зачем убирать ? В InnoDB вообще-то других индексов, кроме кластерных,
вообще не существует. Там всё в одном здоровом индексном дереве.

Это как в InnoDB, делаем на таблицу три индекса и получаем три копии таблицы отсортированные в порядке своих индексов?

Кластерный индекс это когда строится дерево по индексу, а в его листьях расположены остальные столбцы, как например PK в MS SQL. Тут ещё важно что они в базе лежат в порядке индекса для последовательного чтения с диска.
Но кластерный может быть только один индекс на таблицу, остальные обычные с указателями RID в листьях.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404312
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerНу, "уникальный кластерный индекс" - вещь сама по себе весьма небесспорная, но просто интересно - где на практике применяется описанный угробищный подход?
А в чем угробищность подхода например?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404640
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekКластерный индекс это когда строится дерево по индексу, а в его листьях расположены остальные столбцы, как например PK в MS SQL.PK то здесь причем?..
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404683
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerMasterZiv хранить в листах индекса значения полей уникального кластерного индекса -- первичного ключа таблицы. В таком случае после поиска индексной записи значения PK используются для повторного поиска нужной индексной записи в первичном ключе

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

Если он по каким-то причинам не подходит, можно не использовать.

Но чаще всего это очень эффективно. Потому как не нужно перестраивать индексы при расщеплении страниц, не нужно удваивать размер индекса и делать по 2 чтения, как в оракле, и к тому же часто бывает, что обращение к страницам вообще не нужно, достаточно обращения к индексу.
Dimitry SibiryakovalexeyvgВ MSSQL rowid и означает номер страницы.
О как... Одна запись на страницу? Шикарно живёте... Нет, конечно, не одна. Это вообще был ответ на вопрос Index Seek.

Имеется в виду, что в rowid уже есть вся необходимая информация, и искать ничего не надо.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404685
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperIndex SeekКластерный индекс это когда строится дерево по индексу, а в его листьях расположены остальные столбцы, как например PK в MS SQL.PK то здесь причем?.. Новички часто путают ПК и кластерный индекс (про разницу кластерного индекса и уникального кластерного индекса я вообще молчу - это для лысых профессоров :-) )
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404720
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПотому как не нужно перестраивать индексы при расщеплении страниц
Это при расщеплении каких страниц перестраиваются индексы?...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404756
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuperIndex SeekКластерный индекс это когда строится дерево по индексу, а в его листьях расположены остальные столбцы, как например PK в MS SQL .PK то здесь причем?..
Это "как например".
PK в MS SQL - всегда есть кластерный индекс.

alexeyvgSergSuperпропущено...
PK то здесь причем?.. Новички часто путают ПК и кластерный индекс (про разницу кластерного индекса и уникального кластерного индекса я вообще молчу - это для лысых профессоров :-) )
Надеюсь я ничего не напутал?

alexeyvgНо чаще всего это очень эффективно. Потому как не нужно перестраивать индексы при расщеплении страниц, не нужно удваивать размер индекса и делать по 2 чтения, как в оракле, и к тому же часто бывает, что обращение к страницам вообще не нужно, достаточно обращения к индексу.
А где там в Оракле удваивается размер индекса?

Кстати в Оракле можно делать кластерные IOT, по аналогии с кластерными таблицами (не путать с кластерным индексом)?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404761
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekА в чем угробищность подхода например?
В том, что для индекса, например, глубины 5, нужно аж 10 чтений, чтобы добраться до искомых данных.

Index SeekА где там в Оракле удваивается размер индекса?
Да Вы не беспокойтесь, коллега так спешит писать, что не успевает читать. Где уж тут думать...
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404781
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekSergSuperпропущено...
PK то здесь причем?..
Это "как например".
PK в MS SQL - всегда есть кластерный индекс.

вобще-то не обязательно
Но PK - это логическое понятие, а тут разговор о физическом хранении
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404792
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerIndex SeekА в чем угробищность подхода например?
В том, что для индекса, например, глубины 5, нужно аж 10 чтений, чтобы добраться до искомых данных.
А можно чуть подробней? Или вы имеете ввиду при доступе к данным IOT/(таблицы с кластерным индексом) не по кластерному индексу, а по обычному? Я думаю там в листьях тоже есть информация о номере страницы с данными, навряд ли стали бы они так криво делать.

А если имеете ввиду именно кластерный индекс, то в обычном индексе в листьях находится RID по которому нужно ещё прочитать данные из таблицы, а в кластерном/IOT в листьях сами данные.
Мало того при IOS мы последовательно читаем, а не рандомно.

Например IOS нету в PostgreSQL и Firebird, там SELECT name FROM table ORDER BY id выгоднее делать сортировку чем использовать индекс по ID, как раз по описанной выше причине. По крайне мере в Firebird по этому поводу целая статья была.

SergSuperIndex Seekпропущено...

Это "как например".
PK в MS SQL - всегда есть кластерный индекс.

вобще-то не обязательно
Но PK - это логическое понятие, а тут разговор о физическом хранении
А можно пример как создать PK в MS SQL чтобы он не был кластерным индексом?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404802
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekИли вы имеете ввиду ... Я думаю
Я имею в виду реализацию, описанную Master Ziv-ом на прошлой странице.

Index Seekтам SELECT name FROM table ORDER BY id выгоднее делать сортировку чем использовать индекс по ID
Запросы с order by id - вещь редкая, не то чтобы нужная, но из общих соображений я бы отметил, что в них сортировка будет выгоднее индекса всегда, когда нет гарантии в том, что записи вставлялись строго по возрастанию.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404809
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerIndex SeekИли вы имеете ввиду ... Я думаю
Я имею в виду реализацию, описанную Master Ziv-ом на прошлой странице.

Index Seekтам SELECT name FROM table ORDER BY id выгоднее делать сортировку чем использовать индекс по ID
Запросы с order by id - вещь редкая, не то чтобы нужная, но из общих соображений я бы отметил, что в них сортировка будет выгоднее индекса всегда, когда нет гарантии в том, что записи вставлялись строго по возрастанию.
А ну что Master Ziv сказал я вообще не понял, надеюсь разъяснит.

"Запросы с order by id" это как пример. В реальности это круто скажется при SMJ, с допустим подсчетом агрегатов. В Firebird он начнет дергать таблицу в независимости от того что индекс покрывающий.
IOS по IOT позволит избежать random read, в отличие от index key lookup.
А IOT по сравнению с обычным покрывающим индексом позволит исключить затраты на сортировку по ненужным столбцам, допустим по которым идет подсчет агрегатов.
Собственно для этого например в MS SQL есть включенные столбцы и кластерный индекс, а в Oracle - IOT.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404817
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekВ реальности это круто скажется при SMJ, с допустим подсчетом агрегатов.
Не возьмусь отгадывать, что такое SMJ.

Index SeekВ Firebird он начнет дергать таблицу в независимости от того что индекс покрывающий.
Мне так смутно помнится, что в IB/FB у индексов хитрая версионность, которая идеологически мешает в некоторых случаях их использовать.

Index SeekIOS по IOT позволит избежать random read, в отличие от index key lookup.
Если IOS - это что-нибудь типа Index Order Scan, то фокус как раз в том, что оно далеко не всегда лучшее решение.

Когда расщепляется страница в середине индекса, у сервера есть фактически два варианта: либо передвигать пол-индекса, либо записать новую страницу куда-нибудь в конец, то есть нарушить порядок следования страниц в индексе. Когда после этого производится массовое чтение по [покрывающему] индексу, то "считать индекс от начала до конца и отсортировать" скорее всего будет быстрее, нежели постранично считывать его в нужном порядке.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404834
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekА можно пример как создать PK в MS SQL чтобы он не был кластерным индексом?нет ничего проще:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE table
(
	id INT NOT NULL IDENTITY(  1 ,  1  )
		CONSTRAINT PK_delivery_hdr PRIMARY KEY NONCLUSTERED ( id ) ON [PRIMARY],
	...
) ON [PRIMARY]
GO
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404841
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerIndex SeekIOS по IOT позволит избежать random read, в отличие от index key lookup.
Если IOS - это что-нибудь типа Index Order Scan, то фокус как раз в том, что оно далеко не всегда лучшее решение.

Когда расщепляется страница в середине индекса, у сервера есть фактически два варианта: либо передвигать пол-индекса, либо записать новую страницу куда-нибудь в конец, то есть нарушить порядок следования страниц в индексе. Когда после этого производится массовое чтение по [покрывающему] индексу, то "считать индекс от начала до конца и отсортировать" скорее всего будет быстрее, нежели постранично считывать его в нужном порядке.
SMJ - Sort Merge Join.

Бывает что и Fast Full Index Scan с сортировкой быстрее чем Full Index Scan по сильно фрагментированному индексу. Если это OLTP, то там и данных и запросов таких мало. Если DWH, то индексы обычно в хорошем состоянии.
Но в приведенном мною примере если и случиться FFIS, то не с сортировкой, а с HASH JOIN и HASH MATCH. А вот если зададим в предикатах WHERE диапазоны то приехали, сортировка. Ну а сортировка по фактам DWH вообще унылое зрелище, если только не секционирована по этому полю.
Собственно с диапазонами в предикатах WHERE в Exadata идет FFIS со спасительным Smart Scan. А дальше HJ/HM.

Не знаю насколько в Firebird отсутствие IOS связано с версионностью :)
Но там соответственно не возможно и Fast Full Index Scan.
И нету спасительных в этом случае HASH JOIN с HASH MATCH.
Ну представьте таблицу в 10 ТБ, либо всю сортировать во внешней памяти, либо всю в random read дергать :) Это сутки.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37404843
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorych , круто :)
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37405017
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekНу представьте таблицу в 10 ТБ, либо всю сортировать во внешней памяти, либо всю в random
read дергать :) Это сутки.

Боюсь, что разработчика, написавшего такой запрос, убьют независимо от используемой СУБД...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37405050
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovIndex SeekНу представьте таблицу в 10 ТБ, либо всю сортировать во внешней памяти, либо всю в random
read дергать :) Это сутки.

Боюсь, что разработчика, написавшего такой запрос, убьют независимо от используемой СУБД...

Если вы про который я написал, то соединение со справочником и агрегированием по фактам входит почти в любой запрос к DWH и на нормальных СУБД он выполнится за несколько десятков минут. С матвью за минуту.
Или вы про то что его можно выполнить в Firebird за то же время? Расскажите как.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37405064
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index Seekсоединение со справочником и агрегированием по фактам входит почти в любой запрос к DWH

И почти любой запрос к DWH молотит террабайты данных? Я думал для этого давно придумали
свёртку в OLAP кубы.

И Firebird, вообще-то, не претендует на использование в DWH. У неё другая ниша.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37405074
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovIndex Seekсоединение со справочником и агрегированием по фактам входит почти в любой запрос к DWH

И почти любой запрос к DWH молотит террабайты данных? Я думал для этого давно придумали
свёртку в OLAP кубы.

И Firebird, вообще-то, не претендует на использование в DWH. У неё другая ниша.

А в результате какого запроса получается свёртка в OLAP кубы? :)
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37405113
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekА в результате какого запроса получается свёртка в OLAP кубы? :)

Разве они обновляются целиком, а не копятся инкрементально?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37407543
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 20.08.2011 2:59, Index Seek wrote:

> Это как в InnoDB, делаем на таблицу три индекса и получаем три копии таблицы
> отсортированные в порядке своих индексов?

Нет, конечно. Один кластерный индекс, и два индекса (можно сказать -- кластерные
таблицы), содержащие в листах значения полей кластерного индекса.

> Кластерный индекс это когда строится дерево по индексу, а в его листьях
> расположены остальные столбцы, как например PK в MS SQL. Тут ещё важно что они в
> базе лежат в порядке индекса для последовательного чтения с диска.
> Но кластерный может быть только один индекс на таблицу, остальные обычные с
> указателями RID в листьях.

Спасибо за информацию.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37407965
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivOn 20.08.2011 2:59, Index Seek wrote:

> Это как в InnoDB, делаем на таблицу три индекса и получаем три копии таблицы
> отсортированные в порядке своих индексов?

Нет, конечно. Один кластерный индекс, и два индекса (можно сказать -- кластерные
таблицы), содержащие в листах значения полей кластерного индекса.

Два индекса содержащие в листьях значения индексных полей или включенных полей кластерного индекса?
(Индексные - это которые отсортированы в кластерном, включенные - нет)

" и два индекса (можно сказать -- кластерные таблицы)"
Имеется ввиду кластерные таблицы в определениях Oracle?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409293
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИмеется ввиду кластерные таблицы в определениях Oracle?
да это везде так, потому что по другому не сделаешь. хотя коллега софтварер говорит что в Оракле еще и указатель на страницу хранится.
p.s. чем больше узнаю про оракл тем больше удивляюсь - как он вообще умудряется работать?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409728
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowавторИмеется ввиду кластерные таблицы в определениях Oracle?
да это везде так, потому что по другому не сделаешь. хотя коллега софтварер говорит что в Оракле еще и указатель на страницу хранится.
p.s. чем больше узнаю про оракл тем больше удивляюсь - как он вообще умудряется работать?
В кластерных таблицах указатель на страницу хранится? Это скорей всего нигде так.
Кластерные таблицы - это физически сджойненные таблицы, а логически отдельные. Не совсем понятно как они относятся к индексам в InnoDB.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409782
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему разница только в том в каком порядке располагаются данные


ссылка
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409796
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 23.08.2011 15:51, Index Seek wrote:

> Два индекса содержащие в листьях значения индексных полей или включенных полей
> кластерного индекса?
> (Индексные - это которые отсортированы в кластерном, включенные - нет)
>
> " и два индекса (можно сказать -- кластерные таблицы)"
> Имеется ввиду кластерные таблицы в определениях Oracle?

Это я так сказал, чтобы было понятнее. Но видно получилось наоборот.

Там будут три индекса, один кластерный, и два обычных,
два последних в листах будут содержать ссылки на записи в виде
значений полей кластерного индекса (PK) этой таблицы.



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409810
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 24.08.2011 14:53, Index Seek wrote:

> В кластерных таблицах указатель на страницу хранится? Это скорей всего нигде так.

В кластерных индексах храняться сами данные.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37409905
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper , да, индекс так и выглядит. А вывод то какой?

MasterZivOn 23.08.2011 15:51, Index Seek wrote:

> Два индекса содержащие в листьях значения индексных полей или включенных полей
> кластерного индекса?
> (Индексные - это которые отсортированы в кластерном, включенные - нет)
>
> " и два индекса (можно сказать -- кластерные таблицы)"
> Имеется ввиду кластерные таблицы в определениях Oracle?

Это я так сказал, чтобы было понятнее. Но видно получилось наоборот.

Там будут три индекса, один кластерный, и два обычных,
два последних в листах будут содержать ссылки на записи в виде
значений полей кластерного индекса (PK) этой таблицы.

Ну это везде так, на сколько я помню. В MS SQL точно.
А вот приписывают ли ещё в листьях обычных индексов рядом с номером PK и номер страницы?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410390
Index SeekИмеется ввиду кластерные таблицы в определениях Oracle?В Oracle нет кластерных таблиц. Есть кластеризованные таблицы (clustered table)
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410407
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чукотский мальчикIndex SeekИмеется ввиду кластерные таблицы в определениях Oracle?В Oracle нет кластерных таблиц. Есть кластеризованные таблицы (clustered table)
Точно, спасибо. Залетало все в 2 раза быстрее.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410453
Index SeekЗалетало все в 2 раза быстрее.Ага, смешно

Index SeekКстати в Оракле можно делать кластерные IOT, по аналогии с кластерными таблицами (не путать с кластерным индексом)?Нет
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410533
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index Seekalexeyvgпропущено...
Новички часто путают ПК и кластерный индекс (про разницу кластерного индекса и уникального кластерного индекса я вообще молчу - это для лысых профессоров :-) )
Надеюсь я ничего не напутал?Да, вот это:Index SeekPK в MS SQL - всегда есть кластерный индекс.
softwarerIndex SeekА где там в Оракле удваивается размер индекса?
Да Вы не беспокойтесь, коллега так спешит писать, что не успевает читать. Где уж тут думать...Ну, это про то, что в оракле в индексах:softwarerUROWID, включающее в себя как физический адрес блока, так и представление первичного ключа.хотя конечно про удвоение я погорячился :-)
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410537
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekА вот приписывают ли ещё в листьях обычных индексов рядом с номером PK и номер страницы?В сиквеле нет.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410539
Index Seek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgIndex Seekпропущено...

Надеюсь я ничего не напутал?Да, вот это:Index SeekPK в MS SQL - всегда есть кластерный индекс.
softwarerпропущено...

Да Вы не беспокойтесь, коллега так спешит писать, что не успевает читать. Где уж тут думать...Ну, это про то, что в оракле в индексах:softwarerUROWID, включающее в себя как физический адрес блока, так и представление первичного ключа.хотя конечно про удвоение я погорячился :-)
Т.е. в Oracle в листьях индекса хранится как физический адрес блока, так и представление первичного ключа, а в MS SQL только представление первичного ключа?

Собственно и в MySQL тоже только представление первичного ключа?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410637
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index SeekТ.е. в Oracle в листьях индекса хранится как физический адрес блока, так и представление первичного ключа, а в MS SQL только представление первичного ключа?Да, по крайней мере в сиквеле, про другие СУБД не могу сказать.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37410684
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 24.08.2011 21:58, Index Seek wrote:

> Т.е. в Oracle в листьях индекса хранится как физический адрес блока, так и
> представление первичного ключа, а в MS SQL только представление первичного ключа?

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

> Собственно и в MySQL тоже только представление первичного ключа?

Да, и там то же самое. Только там надо различать таблицы InnoDB и myISAM. В
MyISAM я честно говоря не знаю как.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #37415396
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowp.s. чем больше узнаю про оракл тем больше удивляюсь - как он вообще умудряется работать?
Если одним словом, то замечательно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как происходит операция Index Seek на самом нижнем уровне?
    #39634011
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 24.08.2011 14:53, Index Seek wrote:

> В кластерных таблицах указатель на страницу хранится? Это скорей всего нигде так.

В кластерных индексах храняться сами данные.

т.е. доступ по "вторичному индексу" -- не адресный, а индекс--сик в праймари дереве по-значению.

и сколько в среднем дополнительных чтений набегает ?

или старый адрес там пишут, а если что не так -- бегут по-значению ?

а как в инно-беде ?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39634064
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerIndex SeekА в чем угробищность подхода например?
В том, что для индекса, например, глубины 5, нужно аж 10 чтений, чтобы добраться до искомых данных.
В Oracle я не видел индексов глубиной 5. Использую индекс по SYS_GUID (36 символов) и таблицу в 50 млн строк
и этот индекс - в 3 уровня. И то третий уровень еще далеко себя не исчерпал.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39635648
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ том, что для индекса, например, глубины 5, нужно аж 10 чтений, чтобы добраться до искомых данных.

пока это не мешает ни MYSQL ни MS SQL кластеризовать таблицы по умолчанию.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39635832
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqMasterZivOn 24.08.2011 14:53, Index Seek wrote:

> В кластерных таблицах указатель на страницу хранится? Это скорей всего нигде так.

В кластерных индексах храняться сами данные.

т.е. доступ по "вторичному индексу" -- не адресный, а индекс--сик в праймари дереве по-значению.

и сколько в среднем дополнительных чтений набегает ?

или старый адрес там пишут, а если что не так -- бегут по-значению ?

а как в инно-беде ?
в MySQL и в MSSQL обычные(вторичные) индексы указывают на кластерный (первичный).
в PostgreSQL - на саму запись непосредственно (rowid).
Разница в том что в первом случае есть лишние seek при чтении, но при апдейте вторичные индесы не торгаются,
а во втором случае - никаких лишних чтений при чтении, но зато есть лишние обновления всех индексах при апдейте полей даже не входящих во вторичные индексы.

p.s. с этой точки зрения идеален оракл, где индексы всегда указывают на rowid, и при этом не требуют обновления при апдейте полей не входящих в этот индекс, т.к. rowid не меняется в отличии От Postgres
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39635955
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durak,

про пж я знаю.
про мсскл и мускул интересно -- лишние чтения на чтении. т.е. на олап--задачах. хм.

то , что оракл "не настоящий версионник" -- тоже знаю.


про пж думаю есть способ расширить идею хот-а на все случаи оставления записи на страничке. надо "сегментик разадресации" на каждой страничке данных заложить. т.е. 1 запись на странице сделать другого формата (не кучного) -- скажем под пары vid<->tid этой странички. и только переполз записи на другую страницу вызовет каскад изменений в инд-е. (или в прокладке, ежели оную изобресть). но как-то все поздновато. винты скоро отойдут . и мы тоже станем анахронизмом.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636036
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да все это уже анахронизм, под olap задачи работают MPP субд типа вертики или терадаты или вообще хайв, где индексы вообще днем с огнем
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636130
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqIvan Durak,

про пж я знаю.
про мсскл и мускул интересно -- лишние чтения на чтении. т.е. на олап--задачах. хм.

то , что оракл "не настоящий версионник" -- тоже знаю.


про пж думаю есть способ расширить идею хот-а на все случаи оставления записи на страничке. надо "сегментик разадресации" на каждой страничке данных заложить. т.е. 1 запись на странице сделать другого формата (не кучного) -- скажем под пары vid<->tid этой странички. и только переполз записи на другую страницу вызовет каскад изменений в инд-е. (или в прокладке, ежели оную изобресть). но как-то все поздновато. винты скоро отойдут . и мы тоже станем анахронизмом.
чего ламеры не придумают, лишь бы не делать сразу правильно нормальный оракловый UNDO.
проблема пж - мусор прямо в датафайлах, мусор надо выносить, а не костыли выдумывать.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636181
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1чего ламеры не придумают, лишь бы не делать сразу правильно нормальный оракловый UNDO.

Это тот самый UNDO, с которым rollback занимает больше времени, чем вся предыдущая
транзакция? Ну, у каждого своё понятие о норме.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636216
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто тот самый UNDO, с которым rollback занимает больше времени, чем вся предыдущая
транзакция? Ну, у каждого своё понятие о норме.
Конечно. Те проектировщики, для которых главной и наиболее частой операцией является rollback, вольны выбирать и прочие оригинальные понятия вместе с соответствующими инструментами.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636297
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1qwwqIvan Durak,

про пж я знаю.
про мсскл и мускул интересно -- лишние чтения на чтении. т.е. на олап--задачах. хм.

то , что оракл "не настоящий версионник" -- тоже знаю.


про пж думаю есть способ расширить идею хот-а на все случаи оставления записи на страничке. надо "сегментик разадресации" на каждой страничке данных заложить. т.е. 1 запись на странице сделать другого формата (не кучного) -- скажем под пары vid<->tid этой странички. и только переполз записи на другую страницу вызовет каскад изменений в инд-е. (или в прокладке, ежели оную изобресть). но как-то все поздновато. винты скоро отойдут . и мы тоже станем анахронизмом.
чего ламеры не придумают, лишь бы не делать сразу правильно нормальный оракловый UNDO.
проблема пж - мусор прямо в датафайлах, мусор надо выносить, а не костыли выдумывать.

если б криэторы аракала выносили за собой мусор, на ора--скл можно было писать так же легко и свободно как в пж--диалекте.
но вместо этого посадили аскать тома и аськают по сю пору бедного.


т.ч. делать из пж ещё один "блокировочник" с андо не надо. типа "оракел, только маленький."
надо лучше
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636335
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

А кто настоящий версионник?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636397
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonqwwq,

А кто настоящий версионник?
пойнт не в том что версионник, и не в том что настоящий
а в том, что дважды думать одну мысль одним способом неинтересно -- как минимум
не производит новых смыслов или хотя бы оттенков


но задача честно продумать версионник с долгими версиями в общем доступе при этом не грузящими поверхностных читателей (при наличии места под) -- довольно вызывающая, нет ? (пж сюда не движется. по слухам -- когда то двинулось оттуда)
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636402
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqт.ч. делать из пж ещё один "блокировочник" с андо не надо. типа "оракел, только маленький."
надо лучше
лучше чем в оракл не придумаешь, а оракловый undo в постгресе уже делают
http://rhaas.blogspot.com/2018/01/do-or-undo-there-is-no-vacuum.html

уберут мусор из датфайлов и индексы трогать не придется, т.к. rownum не будет меняться.
интересно, догадаются версионность на блок, а не строку накладывать или на осознание этой фишки еще 30 лет понадобиться ?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636426
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторp.s. с этой точки зрения идеален оракл, где индексы всегда указывают на rowid, и при этом не требуют обновления при апдейте полей не входящих в этот индекс, т.к. rowid не меняется в отличии От Postgres

да, только занимают в 2 раза больше места.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636428
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторp.s. с этой точки зрения идеален оракл, где индексы всегда указывают на rowid, и при этом не требуют обновления при апдейте полей не входящих в этот индекс, т.к. rowid не меняется в отличии От Postgres

да, только занимают в 2 раза больше места.
В 2 раза больше чем что?

Где вообще метрика того сколько должен занимать индекс?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636583
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1qwwqт.ч. делать из пж ещё один "блокировочник" с андо не надо. типа "оракел, только маленький."
надо лучше
лучше чем в оракл не придумаешь, а оракловый undo в постгресе уже делают
http://rhaas.blogspot.com/2018/01/do-or-undo-there-is-no-vacuum.html

уберут мусор из датфайлов и индексы трогать не придется, т.к. rownum не будет меняться.
интересно, догадаются версионность на блок, а не строку накладывать или на осознание этой фишки еще 30 лет понадобиться ?
засланные и пораженцы, однако
пораженцы и повторятели задов
где нынче рамблер, кстати ? второй гугл только хуже -- не нужен
так же не нужен второй аракал
хотя если будет как опция выбор движка под таблицу -- не самое плохое

про версионность блоков -- хорошая мысль. верная.
только думать ее надо не вместо а вместе с версионностью строк
на разных масштабах времени
самая тяжелая мысль -- многие версии данных требуют многих версий индексов . или же "прокладок" разадресации между индексами и блоками/записями (пример прокладки -- "первично/вторичные" мускула иннодб. или хот--цепочки в пж)
никто её честно думать пока не хочет.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636601
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у пж куча других нерешенных проблем, начиная с набившего всем оскомину партицирования.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636644
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqзасланные и пораженцы, однако
пораженцы и повторятели задов
где нынче рамблер, кстати ? второй гугл только хуже -- не нужен
так же не нужен второй аракал
хотя если будет как опция выбор движка под таблицу -- не самое плохое

можно скулить сколько угодно, но оракл так и останется безусловным лидером, на который ориентируется что майкрософт со своим IL snapshot, что mysql/innodb, что постгрес, что остальные

qwwqпро версионность блоков -- хорошая мысль. верная.
только думать ее надо не вместо а вместе с версионностью строк
на разных масштабах времени
самая тяжелая мысль -- многие версии данных требуют многих версий индексов .
не требует. в этом и прелесть версионности блока. не важно что это за блок - из таблицы, индекса, блоба или json документа. версионность должна накладывается на блок, блоки лежат в кешах и "старые" блоки доступны какое-то время в кеше. обращение к старым блокам поднимают их в кеше и все происходит логично, понятно и практически без дерганий HDD. опять же это все тут же стройно ложиться на кластер.
конечно можно еще 30 лет потерять и как и с UNDO прийти к версионности блоков уже спустя уже 60 лет
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636756
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне требует. в этом и прелесть версионности блока. не важно что это за блок - из таблицы, индекса, блоба или json документа. версионность должна накладывается на блок, блоки лежат в кешах и "старые" блоки доступны какое-то время в кеше. обращение к старым блокам поднимают их в кеше и все происходит логично, понятно и практически без дерганий HDD. опять же это все тут же стройно ложиться на кластер.

только полезного места в блоках меньше. и слоты транзакций его не добавляют. и многократное дублирование данных появляется, да еще и в REDO.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636758
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и есть стопицот вариатров когда версионность нафик не нужна.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636907
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakу пж куча других нерешенных проблем, начиная с набившего всем оскомину партицирования.
чего чего, а партицируется всё прямыми руками куда как хорошо.

вот с планированием на эту кучу добра проблем уже поболе.
а это не про партицирование как таковое а про планировщик и его алгоритмы.
чего-то не реализовали для простой таблички -- для иерархии уже затык (всякие хитро-мерджи имеются ввиду. но и луз-скан тоже не в коробке. некоторые не реализованные примитивы просто умиляют).
т.е. проблема в скудости умейств планировщика даже для простых табличек, перетекающая на иерархиях в засаду. да.

что-то можно руками. в пределах разумного. но число быстрых стартов усекается сразу и сильно.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636923
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1...
не требует. в этом и прелесть версионности блока. не важно что это за блок - из таблицы, индекса, блоба или json документа. версионность должна накладывается на блок, блоки лежат в кешах и "старые" блоки доступны какое-то время в кеше. обращение к старым блокам поднимают их в кеше и все происходит логично, понятно и практически без дерганий HDD. опять же это все тут же стройно ложиться на кластер.
конечно можно еще 30 лет потерять и как и с UNDO прийти к версионности блоков уже спустя уже 60 летзаучили одну реализацию, и наяриваете как на икону.

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

всё ж довольно просто идеализируется. вот на уровне модели и выводить, что в ней необходимо. а что всего лишь достаточно. и где ?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39636929
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqто, что для чего-то "достаточно" реализации оракла не является доказательством того, что подход оракла единственен и необходим.
Он не единственен и не необходим, он просто удобен и эффективен.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39637050
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqзаучили одну реализацию, и наяриваете как на икону.
забавно что в течении 15 лет каждый год приходит некто и бросает тут примерно одну и ту же фразу :)
лет 10 назад для таких я я написал пост http://oraclemind.blogspot.com/2007/08/blog-post.html

ScareCrowтолько полезного места в блоках меньше. и слоты транзакций его не добавляют. и многократное дублирование данных появляется, да еще и в REDO.
да. но именно это и превратило оракл в абсолютного лидера с долей rdbms 50%+. блокировки как атрибут блока транзакции позволяют вытеснять их опять же логично и понятно на диск. вместе с блокировками. плюс такая структура блока позволяет воротить полноценный кластер. теперь благодаря этому у оракла одного реальный кластер с полноценными транзакциями. у майкрософт, postgres и mysql ничего сравнимого нет, ibm издох. от его pure cluster лет 10 нет новостей. угроза лишь со стороны bigdata/nosql, но и они бегут позади оракла, а не впереди. самое прогрессивное на том поле, cloudera kudu, даже UNDO/REDO логи называют UNDO/REDO. точно как у оракла.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39637075
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1но именно это и превратило оракл в абсолютного лидера с долей rdbms 50%+
да вот хрен. вовсе не это.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638106
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвытеснять их опять же логично и понятно на диск. вместе с блокировками
я правльно понимаю, что чтобы кастеру понять что сейчас заблокированно ему надо сбросить все буфера со свех нод на диск?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638109
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторвытеснять их опять же логично и понятно на диск. вместе с блокировками
я правльно понимаю, что чтобы кастеру понять что сейчас заблокированно ему надо сбросить все буфера со свех нод на диск?
а ему это не надо. на сколько я помню (пишу по памяти) если на ноде нет блока она ищет блок у соседних нод по интерконекту, если у тех в буферном кеше нет, то только тогда идет на диск за блоком. т.е. откуда взялся блок не важно, с соседней ноды или с диска или эта нода сама его и создала. блокировки же внутри блока, атрибут данных.
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638111
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторблока она ищет блок у соседних нод по интерконекту, если у тех в буферном кеше нет
там еще интерконнект между нодами нужен?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638139
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где "там" ?
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638319
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторблока она ищет блок у соседних нод по интерконекту, если у тех в буферном кеше нет
там еще интерконнект между нодами нужен?
да, рекомендуется отдельный и хотя бы гигабитный езернет
...
Рейтинг: 0 / 0
Как происходит операция Index Seek на самом нижнем уровне?
    #39638450
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1ScareCrowпропущено...

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


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