Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

SQL & Delphi возможно ли прямое обращение к данным выборки?   Найти похожие ветки 

 
xmrz   (2003-03-09 16:54) [0]

Кто нибудь встречался со способом прямого чтения из памяти результатов запроса после выполнения SQL запроса стандартными средствами Delphi (TQuery, TStoredProc)?


 
JibSkeart ©   (2003-03-09 16:56) [1]

Всмысле а поточнее ?


 
xmrz   (2003-03-09 19:28) [2]

К примеру: имеется заранее определённая структура данных, которую можно организовать в классе или record, она соответствует структуре данных выборки Query, известно (спорный момент...) куда BDE кладёт данные посли выборки из Query, а потом "накладывая" свою структуру на область памяти последовательно считывать строки таблицы. Вопрос в принципе в чём: повысит ли это скорость загрузки данных и если повысит, то как это сделать (т.е. где та самая область памяти куда Query складывает данные)


 
Serginio   (2003-03-11 12:21) [3]

Могу быть не правым,но обычно Query результаты запроса держит в темповой локальной таблице (для Dbase точно). В принципе можно загрузить все данные в память с поиощью ReadBlock. Смотри BDE32.hlp, в частности DbiQExecDirect,DbiQAlloc.


 
BlackTiger   (2003-03-11 14:47) [4]

Скорость это не повысит никак абсолютно, может быть даже замедлит.
Зато проблем получишь море.

Данные и так все (сколько влезло в кеш) находятся в памяти (часть в оперативке, часть в виртуальной) после выборки. За всем этим следит уже сам виндовс, его ты не обгонишь.

Одно дело как-то их получить, а совсем другое - работать с ними. Максимум, чего ты получишь, если доберешься, огромный блок несистематизированной информации, короче - гору мусора (в прямом и программистском понимании).

А после долгих мучений ты просто получишь свой собственный БДЕ или АДО, который если и будет чуть быстрее, то только за счет выкидывания части функционала.

Успехов!


 
Fbist ©   (2003-03-11 14:58) [5]

Смотри метод
array:= recordset.GetRows(Rows,Start,fields);

Возвращает вариант в виде двумерного массива.



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

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-88250
Мыш
2003-03-08 15:33
2003.03.27
Как изменить работу стандартных компонентов ?


14-88186
АндрейБ
2003-03-07 15:06
2003.03.27
Распечатка отчета


3-87821
DenKop
2003-03-08 15:43
2003.03.27
Основы InterBase


6-88098
PrettyFly
2003-02-02 22:06
2003.03.27
DNSName -> IP


4-88295
HanIP
2003-01-30 12:35
2003.03.27
mciSendString