![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL & Delphi возможно ли прямое обращение к данным выборки? [D5, MSSQL]
xmrz © (2003-03-09 16:54:00)Кто нибудь встречался со способом прямого чтения из памяти результатов запроса после выполнения SQL запроса стандартными средствами Delphi (TQuery, TStoredProc)?
Fbist (2003-03-11 14:58:00) [1]Смотри метод
array:= recordset.GetRows(Rows,Start,fields);
Возвращает вариант в виде двумерного массива.
BlackTiger (2003-03-11 14:47:00) [2]Скорость это не повысит никак абсолютно, может быть даже замедлит.
Зато проблем получишь море.
Данные и так все (сколько влезло в кеш) находятся в памяти (часть в оперативке, часть в виртуальной) после выборки. За всем этим следит уже сам виндовс, его ты не обгонишь.
Одно дело как-то их получить, а совсем другое - работать с ними. Максимум, чего ты получишь, если доберешься, огромный блок несистематизированной информации, короче - гору мусора (в прямом и программистском понимании).
А после долгих мучений ты просто получишь свой собственный БДЕ или АДО, который если и будет чуть быстрее, то только за счет выкидывания части функционала.
Успехов!
Serginio (2003-03-11 12:21:00) [3]Могу быть не правым,но обычно Query результаты запроса держит в темповой локальной таблице (для Dbase точно). В принципе можно загрузить все данные в память с поиощью ReadBlock. Смотри BDE32.hlp, в частности DbiQExecDirect,DbiQAlloc.
xmrz (2003-03-09 19:28:00) [4]К примеру: имеется заранее определённая структура данных, которую можно организовать в классе или record, она соответствует структуре данных выборки Query, известно (спорный момент...) куда BDE кладёт данные посли выборки из Query, а потом "накладывая" свою структуру на область памяти последовательно считывать строки таблицы. Вопрос в принципе в чём: повысит ли это скорость загрузки данных и если повысит, то как это сделать (т.е. где та самая область памяти куда Query складывает данные)
JibSkeart (2003-03-09 16:56:00) [5]Всмысле а поточнее ?