powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MS SQL индексы с позиции Delphi
9 сообщений из 9, страница 1 из 1
MS SQL индексы с позиции Delphi
    #39614468
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я понимаю, что Индекс с позиции Delphi - это обычный TList<Record>, где Record - набор столбцов таблицы.
Я говорю про кластеризованный индекс. То есть сюда добавляется еще сортировка.

Или все сильно отличается от структуры TList? Может это ближе к Array?
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39614473
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39614487
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X-Cite https://msdn.microsoft.com/ru-ru/library/ms177443(v=sql.90).aspx
Да, но я немного про другое.

Там все описано абстрактно - страницы, секции и тд. А мне хотелось бы понять с позиции памяти. С позиции хранения данных в памяти (диск или ОП).

Если бы можно было описать сбалансированное дерево как некую совокупность TList<Data>, то как бы это было?

Ну в самом простом варианте. Как бы осуществлялся доступ программно по индексу.
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39614488
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39614489
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat https://www.freepascal.org/docs-html-3.0.0/fcl/avl_tree/tavltree.html
Спасибо. Правда нет реализации, только интерфейс описан.

Я хотел понять, на сколько сильно в плане памяти отличается вставка последовательного ключа в кластерный индекс и произвольного.
На примере TList как сортированного списка я это понимаю довольно линейно. В первом случае просто в конец списка, во втором - с поиском и со сдвигом памяти.

Со сбалансированными деревьями все похоже не так линейно... Или так же линейно (с позиции памяти) - то есть производится ли реорганизация памяти (и в каком объеме) при реорганизации Б-дерева индекса в обоих случаях.
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39615427
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

тут есть тема (с картинками и кодом) про индексы, правда в формате CDX, но вдруг интересно:
http://www.sql.ru/forum/686605-a/algoritm-sozdaniya-cdx-faylov
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39615691
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

Там модуль указан. Можно поискать в интернетах. Если ставить не хочется.

Что нашлось:
https://searchcode.com/codesearch/view/5157125/
https://github.com/graemeg/freepascal/blob/master/packages/fcl-base/src/avl_tree.pp
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39615813
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

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

И еще - индексы в базах данных, как правило всегда сбалансированы. Редко бывает, чтобы ключ со страницы указателей, а не с листовой, указывал на запись, а не на конечный ключ в листовой странице.

Индексы БД практически никогда не загружаются в память целиком, и не конвертируются из страничных в какую-то "организацию в памяти".
...
Рейтинг: 0 / 0
MS SQL индексы с позиции Delphi
    #39615817
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

и еще
https://habrahabr.ru/post/247373/

а про avl-деревья читать не надо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MS SQL индексы с позиции Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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