|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexandr Kostiuchenko 2:463/468.5 13 May 2000 01:57:34 To : All Subject : simple DB --------------------------------------------------------------------------------
Имеется: данные в CSV (~15Mb), формат NNN,CCC,.... (N - numeric, C - char).
>Отсутствует и не предполагается SQL-сервер.
DBI::CVS или XBase тоже не катят из-за сравнительно большого обьема данных (и
малой скорости).
Задача - максимально быстрый поиск в базе по полям NNN и CCC.
Желательно при минимальном обьеме дополнительных данных (индексы).
Hа данный момент сделал так: база разбивается на файлы с именем = первые 3 цифры
первого поля (и содержимым - строки оригинальной базы, начинающеся с этих цифр),
каждый такой файл индексируется (формат: остальные цифры первого поля /значение
уникально/ - позиция в файле). Скорость и обьемы вполне устраивают (по сравнению
с XBase + индексы - на ~50% меньше обьем и в 3-4 раза выше скорость). Только вот
никак не могу придумать, какие при таком раскладе лучше всего создавать индексы
для CCC (значения CCC могут повторятся в разных записях).
Может кто с таким сталкивался и что-то может посоветовать - как-то перекроить
базу, формат индексов, использовать какие-то хитрые алгоритмы поиска и т.д.
Желательно с набросками в коде для лучшего понимания.
--
mailto: random at info.net.ua //Александр
* Origin: useless (2:463/468.5)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2845391cbbe1.html, оценка из 5, голосов 10
|