|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.12.2011, 11:25 | #1 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
Загрузка таблицы в память
Здравствуйте! Подскажите пожалуйста ответ. У меня есть БД из нескольких таблиц, возможно ли загрузить одну из таблиц в оперативную память чтобы сократить время обращения к ее данным? Я почитал что есть такая вещь как TBucketList с помощью которой можно имитировать ассоциативный массив, может кто нибудь встречался с такой проблемой?
|
21.12.2011, 19:08 | #2 | |
Пользователь
Регистрация: 19.08.2010
Сообщений: 54
|
Цитата:
Однако, если таблица небольшая (примерно до 1000 записей), конечно можно. Например RxMemoryData компонент умеет прочитать данные из Датасета в свой буфер и потом изображать, что он и есть Датасет со всеми положенными свойствами, БД при этом далее не нужна. (Библиотека Rx).
Ваша благодарность может быть материальной:
WM R103871054215, WM Z710411027344, ЯндД: 410011167596676 |
|
21.12.2011, 19:19 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Что-то не пойму проблемы. Данные активизированных ADOQuery или ADOTable и так находятся в памяти. Доступ к данным конечно не такой, как к массиву в памяти. Или вам нужен массив из Record-ов с доступом по индексу? Или проблема в доступе к данным после закрытия DataSet? Если вы данные каким-то образом перетяните в массив, то по памяти почти не сэкономите. По скорости доступа можно будет сэкономить, если загрузка в реальный массив и доступ по индексу, который кстати и знать нужно будет. В противном случае существенной экономии не получите, даже воспользовавшись компонентом типа RxMemoryData или ему подобным
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.12.2011, 07:10 | #4 | |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
Цитата:
Код:
Последний раз редактировалось {Shadowevil}; 22.12.2011 в 07:13. |
|
22.12.2011, 08:59 | #5 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
покажи как ресуешь конечного варианта в прошлой ветки не увидел
а лучше весь листинг в студию
Не стесняемся, плюсуем!
|
22.12.2011, 09:02 | #6 | |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
Цитата:
Код:
|
|
22.12.2011, 09:45 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну и зачем при прорисовке каждый раз запрос выполнять? Если не получилось эти данные засунуть в общий запрос, о котором шел разговор в конце прошлого поста, то в тот же Query10 там же потяните все данные из phone без условия WHERE, но с ORDER BY cid,fid. При прорисовке используя Query10.Locate и данные из записи ZQuery1 находите первую строку и остальные в цикле
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.12.2011, 10:10 | #8 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
Так надо делать? вместо Query10 - ZQuery3
Код:
|
22.12.2011, 11:01 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
С учетом ORDER BY cid,fid
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.12.2011, 11:11 | #10 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
Спасибо, сделал) только вот практически ничего не изменилось (
А можно как нибудь ускорить процесс прорисовки канвы? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DBImage загрузка из Таблицы | Elementery | Общие вопросы Delphi | 9 | 13.06.2013 21:52 |
Загрузка программы в память | CodeNOT | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 13.12.2011 23:58 |
Загрузка данных из таблицы | Vladuk | БД в Delphi | 1 | 24.04.2011 20:16 |
Набор данных и загрузка другой таблицы | Turbine | БД в Delphi | 1 | 21.03.2011 14:26 |
Загрузка данных и построение таблицы. | Lisichka | Microsoft Office Word | 12 | 04.02.2009 15:31 |