Сортировка DBF файла #9368


#0 by Андрей
каким макаром отсортировать DBF (при его создании и кидании в него справочника (большого)) по трем полям два из которых одинаковые, но несмотря на одинаковость они нужны для дальнейшего поиска в файле
#1 by Valery
Создать индекс
#2 by Diter
Перед загрузкой в файл отсортируй ТЗ с данными
#3 by 427
совет неверный... А как произвольный доступ делать?
#4 by Diter
А ему не произвольный доступ не нужен. Ему нужно отсортировать данные для поиска. А искать можно и перебором :))(конечно шучу). Несомненно нужен индекс, но при этом отнюдь не помешает отсортировать данные при выгрузке в файл.
#5 by Андрей
Все конечно ничего, только индекс и так есть  надо чтобы при вытягивании инфо из файла можно было найти(,) первую удовлетворяющую запись и дальше идти по списку до последней удовлетворяющей а не бежать через всю инфо, там больше 50000 строк будет и из них надо выбирать только те у которых индекс1 и индекс2 нужные, а для этого надо отсортировать при записи именно DBF т.к. по индексному файлу так искать не получится. Там нужных записей будет не меньше 5000 строк, и надо так сделать чтобы они друг за другом стояли даже если в файл потом еще добавления будут
#6 by SnarkHunter
А составной индекс кто мешает сделать?
#7 by Андрей
Сори ошибся там не 50000 а более 500000 строк будет, и это в лучшем случае
#8 by Valery
что мешает делать как ты говоришь Нашел запись по индексу и сканируй базу дальше, до определенного условия Если индекс присоединен, добавляемые записи сразу будут сортироваться.
#9 by Андрей
Я не о том и составной можно сделать просто он не уникальный получится, там такая тема, что надо отбирать записи по двум позициям, Серия и владелец, и отбирать надо именно те у которых серия и владелец такие как надо (а таких записей будет не менее 5000), вот и спрашивается по индексу находится первая запись в файле с нужным ключом, а как сам дбф отсортировать(причем не одноразово а так чтобы сортировать и при последующем добавлении записей) чтобы по нему бежать (чтобы строки с серией и владельцем ("вася", "петя") шли друг за другом)
#10 by SnarkHunter
Ты понимаешь для чего служит индекс?
#11 by Андрей
Valery Ты хочеш сказать что если я кинул индекс то и сам ДБФ будет отсортирован просто фигня заключается в том что физические номера записей как мне кажется так просто не меняются, и как записи были расположены 1,2,3,4... так и будут а надо чтобы можно было 1,5,555,20004,2.....
#12 by SnarkHunter
Судя по всему, не понимаешь...
#13 by Андрей
SnarkHunter объясни, я просто на эту тему абсолютно случайно нарвался
#14 by Valery
что-то я туплю что ли. если индекс включен, файл уже отсортирован. зачем еще сортировать?
#15 by Андрей
мне позарез надо понять как это сделать, я в книжечке 1с прочитать то прочитал но мало чего понял (как показывает практика) так что народ если не в падлу обрисуйте мне на пальцах как это работает
#16 by Valery
Физические номера записей не изменяются, именно так и будут располагаться ,5,555,20004,2
#17 by SnarkHunter
Индекс служит для сортировки (в соответствии с индексным выражением), для поиска по индексному выражению и еще для кое-чего... Сортировка при использовании индексов поддерживается автоматически, т.е. ситуации удаления/вставки записей не требуют никаких дополнительных усилий...
#18 by Андрей
стоп тоесть если индекс включен то дбф сам сортируется по индексу (тобишь у него записи идут отсортированными по индексу, именно сам файл .DBF)? так чтоли?
#19 by Valery
В ДбФ файле порядок записей не меняется,  вся обработка происходит в индексном файле, который представляет собой туже базу, только в нем находятся ссылки на записи в дбф. Они отсортированы по ключу.Вот они и располагаютя в порядке  5,555,20004,2
#20 by Андрей
Спасибо!!!
#21 by Андрей
С индексами все понял. Ещераз спасибо! Но так то оно так, только цикл то у меня не по индексному файлу идет а именно по дбфу. Ну да хрен с ним разберусь. Вот еще какой вопрос работают ли запросы с дбф или нет?
#22 by Андрей
Ну так как запросы с дбф работают или нет
#23 by OOps
Нет
#24 by 427
Приплыли...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С