Вниз
Скачать: CL | DM;

Способы хранения списков строк во время работы программы.   Найти похожие ветки 

 
Андрей Кравцов   (2004-10-23 10:12) [0]

Есть три БОЛЬШИХ списка строк, которые постоянно используются программой. Их очень часто приходится перегружать, они хранятся в файлах и грузятся в ListBox секунды по четыре - пять каждый. Целесообразно ли использовать TStringList для хранения в нем списков во время работы программы или нет? Как это повлияет не работоспособность программы в целом? Какие еще методы можно использовать для работы с БОЛЬШИМИ списками строк?


 
TUser ©   (2004-10-23 13:10) [1]

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


 
Андрей Кравцов   (2004-10-23 19:13) [2]

TUser ©   (23.10.04 13:10) [1]

Списки стинговые (по три - четыре записи в строке), строк порядка 300-400 тыс. в каждом списке.
Вызов списков происходит каждый раз, когда в них вносятся изменения, либо происходит поиск по ним. За раз работы программы случается порядка 5-8 вызовов списков.


 
Anatoly Podgoretsky ©   (2004-10-23 19:31) [3]

Свой класс на основе TList


 
palva ©   (2004-10-23 22:47) [4]

Вообще для такой работы предназначены СУБД. Если база хорошо спроектирована, то грузятся только те строки, которые отображаются на экране, а любые изменения вносятся без загрузки всего массива строк.


 
Defunct ©   (2004-10-23 22:56) [5]

> строк порядка 300-400 тыс. в каждом списке


IMHO FB embedded решит проблему. 3 таблички по 3-4 текстовых поля в каждой и одно ключевое. Что может быть проще и быстрее?


 
GuAV ©   (2004-10-23 23:06) [6]

Anatoly Podgoretsky ©   (23.10.04 19:31) [3]
Свой класс на основе TList

А не лучше ли свой класс на основе TStrings ?


 
atruhin ©   (2004-10-24 07:59) [7]

300-400 тыс однозначно СУБД - любая


 
Anatoly Podgoretsky ©   (2004-10-24 10:25) [8]

GuAV ©   (23.10.04 23:06) [6]
У него 4 значение в строке



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
1-1098775923
kingdom
2004-10-26 11:32
2004.11.07
Как определить, что точка лежит внутри кривой Безье?


9-1087491097
Zak3D[@Tm]
2004-06-17 20:51
2004.11.07
Анимированный персонаж.


14-1097934498
vidiv
2004-10-16 17:48
2004.11.07
w3c или браузер


1-1098387808
oleg_
2004-10-21 23:43
2004.11.07
dll


14-1098039450
Барбос
2004-10-17 22:57
2004.11.07
фракталы и система координат




   Наверх