Главная страница
    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.45 MB
Время: 0.008 c
1-87944
mod
2003-03-17 14:43
2003.03.27
Создание Dll в BPascal


6-88122
Nicky
2003-02-06 20:11
2003.03.27
не могу пробиться через прокси


3-87868
baracuda
2003-03-11 11:56
2003.03.27
select


14-88150
race1
2003-03-12 17:15
2003.03.27
pbem galaxy


14-88167
alex134
2003-03-10 14:43
2003.03.27
Как узнать - упакована программа или нет ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский