Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2008, 00:50   #1
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
Сообщение Как можно быстрее прочитать данные

Как можно быстрее прочитать данные из ДБ ( MS Access ) в память (желательно в динамический массив).
В таблице имеется больше 600000 записей. Пользуюусь ADOQuery. Только открытие запроса занимает 10-15 секунд. Перекачка в массив занимает приблизительно 10 секунд. Все на это уходит около 20 секунд. Естли другой метод, который бы сократил это время до минимума.
Bagirli вне форума Ответить с цитированием
Старый 15.10.2008, 01:47   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Для MS Access вряд ли. Выход - клиент-серверные БД, InterBase, например.
mihali4 вне форума Ответить с цитированием
Старый 16.10.2008, 08:48   #3
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Я так думаю, что даже в простом текстовом формате будет выгоднее хранить... сталкивался пару раз с аксесом - тормозная штука. Программа будет только на твоём компе работать, или будет распостраняться? Если только на твоём, как вариант - использование MySQL базы...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 17.10.2008, 22:13   #4
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Зачем в память считывать 600000 записей?
_Engine_ вне форума Ответить с цитированием
Старый 18.10.2008, 01:11   #5
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
Зачем в память считывать 600000 записей?
Можно не считывать в память. Открытие и чтение само занимает значительное время.
Bagirli вне форума Ответить с цитированием
Старый 18.10.2008, 01:19   #6
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Johnson Посмотреть сообщение
Я так думаю, что даже в простом текстовом формате будет выгоднее хранить...
Раз можно было бы хранить и обрабатывать такие данные в текстовом формате, за чем придумывали разнообразные БД?
Bagirli вне форума Ответить с цитированием
Старый 18.10.2008, 11:31   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Bagirli
Раз можно было бы хранить и обрабатывать такие данные в текстовом формате, за чем придумывали разнообразные БД?
Товарищ Johnson имеет в виду исключительно СУБД Access, которая (по его мнению) проигрывает простому текстовому файлу ;-)
Хотя, имхо, это не так... С другой стороны, я согласен, что Access, это, конечно, не СУБД, а так, картотека для домашнего применения ;-)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью формул можно сравнить и вывести данные kutt Microsoft Office Excel 2 24.09.2008 17:05
Как прочитать данные из Repeater? posdnyaa БД в Delphi 0 07.04.2008 09:50
Как прочитать данные из самого себя vitalik007 Общие вопросы Delphi 9 16.12.2007 15:52
Как мне в асме прочитать данные из файла? lelicman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.10.2007 09:24
RichEdit. как можно вставлять картинку туда? как можно Скрол програмно вниз двигать? Svop Компоненты Delphi 7 28.11.2006 21:07