![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка записей из таблицы БД
js2 © (2009-04-23 15:31:00)имеется постоянно корректируемая таблица БД (записей от 2 000 000 до 6 000 000). Задача состоит в том чтобы грузить все записи или в список или в массив. Что посоветуете:
1. Написать наследник Tlist который будет работать с record
2. Грузить в массив типа record
Какие плюсы\минусы этих вариантов?
Медвежонок Пятачок (2009-04-23 16:08:00) [21]1. Написать наследник Tlist который будет работать с record
2. Грузить в массив типа record
Какие плюсы\минусы этих вариантов?
Минусы и плюсы в обоих случаях одинаковые
TList = class(TObject)
private
FList: PPointerList;
.......
PPointerList = ^TPointerList;
TPointerList = array[0..MaxListSize - 1] of Pointer;
Anatoly Podgoretsky (2009-04-23 16:03:00) [22]> Ega23 (23.04.2009 16:01:14) [14]
Name при размере 10 символов для строк займет минимум 22 байта, плюс расходы на поддержку списка
Ega23 (2009-04-23 16:01:00) [23]
> но и со списком этих же данных
6 миллионов записей по 1 байту дадут тебе чуть меньше 6 мегабайт памяти.
тупое сочетание id-Name (пусть Name в среднем 10 символов) даст тебе уже 15 байт на запись. Соответственно - 90 метров в опрервтивке (это если всё предельно аккуратно расписать).
Про время доставки этих записей на клиент - я вообще молчу.
stas (2009-04-23 15:59:00) [24]js2 (23.04.09 15:47) [9]
что вы понимаете под списками?
Anatoly Podgoretsky (2009-04-23 15:56:00) [25]Теперь прикинем расходы на хранение 6 000 000 записей в любом виде.
Сергей М. (2009-04-23 15:51:00) [26]
> пишу определенный компонент
Не надо ничего писать, все уже написано - TClientDataSet.
Сергей М. (2009-04-23 15:50:00) [27]
> не моя прихоть
Ну тогда не все ли равно, куда все это "добро" грузить ?
> Какие плюсы\минусы этих вариантов?
С учетом озвученных объемом загружаемых данных оба варианта дурные на всю голову того, у кого возникла эта блажь.
js2 (2009-04-23 15:47:00) [28]пишу определенный компонент который должен предоставлять возможность работать не только напряму с данными таблицы бд, но и со списком этих же данных
Sergey13 (2009-04-23 15:47:00) [29]> [6] Ega23 © (23.04.09 15:45)
> Зачем тебе на клиенте 2 лимона записей?
Чай с лимонами пить. 8-)
> [5] js2 (23.04.09 15:44)
Курсовой? А на лекции наверное не ходил? Но пиво наверное любишь.
Amoeba (2009-04-23 15:46:00) [30]
> js2 (23.04.09 15:44) [5]
>
> не моя прихоть. сам в принципе не понимаю, сказали - приходится
> делать
И теперь хочешь найти консультантов для реализации предельно идиотского задания.
Ega23 (2009-04-23 15:45:00) [31]Зачем тебе на клиенте 2 лимона записей? Что ты с ними будешь делать?
js2 (2009-04-23 15:44:00) [32]не моя прихоть. сам в принципе не понимаю, сказали - приходится делать
Сергей М. (2009-04-23 15:43:00) [33]
> Задача состоит в том чтобы грузить все записи или в список
> или в массив
За каким лешим грузить-то ?
Что, без этого никак не обойтись ?
Медвежонок Пятачок (2009-04-23 15:42:00) [34]Зачем грузить 6 миллионов записей в рекорды, если все они уже и так загружены в таблицу БД.
js2 (2009-04-23 15:41:00) [35]
> Медвежонок Пятачок © (23.04.09 15:38) [1]
> Что посоветуете:удалить все записи
Смешно.... А если по делу?
Медвежонок Пятачок (2009-04-23 15:38:00) [36]Что посоветуете:
удалить все записи