Форум: "Начинающим";
Текущий архив: 2011.02.13;
Скачать: [xml.tar.bz2];
Внизкак строится индекс? Найти похожие ветки
← →
mem (2010-11-23 11:39) [0]Всем привет.
Нужен быстрый поиск в данных.
Сначала я записываю в файл сами данные, затем начинаю строить индексное дерево. Все хранится в одном файле. Так вот, при постройке индексного дерева, каждый узел/лист в конкретный момент времени ссылается на неконечное число эл-тов, поэтому я не могу знать его размер, соответственно, не знаю, где лежат следующие за ним узлы. Можно(наверное и нужно) хранить указатель на массив указателей на данные, соответствующие данному узлу/листу индекса.
Только опять же, на момент постройки дерева я не могу знать его размер, потому и не могу знать, куда записывать массивы указателей. Да и сами массивы непостоянны в размере. Подскажите, как это делается.
← →
Anatoly Podgoretsky © (2010-11-23 11:45) [1]> mem (23.11.2010 11:39:00) [0]
Вообще то записывать указатели в файл бессмысленно.
← →
12 © (2010-11-23 11:47) [2]как в MSSQL - хапать место под данные заранее
любая книжка по организации индексов этой БД должна просвятить
> каждый узел/лист в конкретный момент времени ссылается на
> неконечное число эл-тов
как это?!
и
http://www.google.ru/webhp?rls=ig#rls=ig&hl=ru&source=hp&biw=1280&bih=785&q=%D1%81%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5+%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D1%8F&aq=f&aqi=g1&aql=&oq=&gs_rfai=&fp=6b80d38ad031c95
← →
mem (2010-11-23 11:52) [3]
> Anatoly Podgoretsky © (23.11.10 11:45) [1]
>
> > mem (23.11.2010 11:39:00) [0]
>
> Вообще то записывать указатели в файл бессмысленно.
в смысле, указатель на данные в файле.
> > каждый узел/лист в конкретный момент времени ссылается
> на
> > неконечное число эл-тов
>
> как это?!
пока строится дерево.
> как в MSSQL - хапать место под данные заранее
а если не хватит? Т.е. начал я записывать дерево после данных, пропустил х байт, начинаю там записывать массивы ссылок на данные, а дерево разрослось до х+1 байт - мне, что, двигать массивы или дерево разбивать на кусочки? То же самое с массивами ссылок.
ссылка=указатель или как там назвать число, указывающее на место в файле, где данные лежат.
← →
Anatoly Podgoretsky © (2010-11-23 11:57) [4]> mem (23.11.2010 11:52:03) [3]
Смещение от начала.
← →
12 © (2010-11-23 12:00) [5]
> пропустил х байт, начинаю там записывать массивы ссылок
> на данные, а дерево разрослось до х+1 байт - мне, что, двигать
> массивы
двигать массивы.
Массовый сдвиг будет все же быстрым боле-менее
т.е. как место закончилось, хапаем еще, ну пусть, 10% от уже занятого места.
← →
mem (2010-11-23 12:11) [6]
> Anatoly Podgoretsky © (23.11.10 11:57) [4]
>
> > mem (23.11.2010 11:52:03) [3]
>
> Смещение от начала.
да, действительно.
> 12 © (23.11.10 12:00) [5]
спасибо, попробую.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.02.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c