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

Вниз

BDE Out of memory на 200000+ записи выборки   Найти похожие ветки 

 
Saddam   (2004-01-30 18:47) [0]

Пользовал BDE, IBX, пробовал ставить Unidirectional=false, при конекте через BDE передоключался к БД через каждые 5000 записей. Нифига не помогает.
Переход на IBX увеличил кол-во записей до 300000, но ошибка вылетела. Как работать с большими выборками на через BDE/IBX?
PS:
Большая выборка = более 500 тыс. записей.
Работать = пробежать по всем записям.


 
SasaR   (2004-01-30 19:12) [1]

В смысле вы пробовали на BDE, плюнули, перешли на IBX, плюнули (но немного позже) ? Моё предложение - перейти на FIBPlus копоненты - я пробегал ими даже по 700000 записям. Гиблый номер - очень долго. Гораздо быстрее (если возможно в Вашем случае) - сохранённая процедура, в которой FOR SELECT DO + индексы.
Прогноз: наверняка тоже вскоре не воздержитесь от плевков, но уже на IB :))


 
Michail Dalakov ©   (2004-01-30 19:22) [2]

>Работать = пробежать по всем записям.

Для чего?


 
Sergey_Masloff   (2004-01-30 22:28) [3]

SasaR (30.01.04 19:12) [1]
>В смысле вы пробовали на BDE, плюнули, перешли на IBX, плюнули
>(но немного позже) ? Моё предложение - перейти на FIBPlus >копоненты - я пробегал ими даже по 700000 записям.
И о чем это говорит? Вобщем, FIBPlus хорошие компоненты, но не настолько лучше IBX насколько это пытаются представить ;-)

Я в IBX регулярно и по миллиону строк таскаю и больше - вобщем-то лимита нет. Для тех кто скажет клиенту столько не нужно - усмехнусь. Смотря что за клиент. Если человек то и 1000 записей не нужно конечно. Конкретно в моем случае ХП формирует XML для передачи данных во внешнюю систему и возвращает его построчно. Миллион строк и больше - обычный размер. Никаких проблем.

P.S. Автору вопроса. Вы же их не в DataSet тащите? 300000 записей? Если да то сочувствую и категорически не советую.


 
Saddam   (2004-02-02 10:10) [4]

Моя задача перетащить некоторые данные из одногй БД в другую. При чем струткура БД идентична. Изначально предполагалось, что исходная может быть IB или Orcale, но потом пришлось ограничиться только IB. Применая - IB. Для этого я делаю IBQuery из исходной, и пихаю в IBTable приемной. Боюсь теперь придется вставлять не в IBTable, а делать insert в IBQuery, чтобы приемнй Dataset не отжирал память. Однако, боюсь, что на 700000 опять глючить начнет. :(
У кого есть предложения?
Переход на нестандартные компоненты невозможен по ТЗ.
Возможен переход на IB API :(


 
Кщд   (2004-02-02 10:13) [5]

как вариант: BatchOutput-BatchInput


 
Ega23 ©   (2004-02-02 10:16) [6]

А разве напрямую никак нельзя? Обязательно через клиента надо?


 
Sergey_Masloff   (2004-02-02 10:29) [7]

Saddam (02.02.04 10:10) [4]
Ну конечно с IBTable это бред. Делаешь IBSQL с обеиx сторон и в цикле через параметризованый запрос фигачишь. Еще почитай про External table но это наверное в твоем случае не совсем то.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
7-80330
Borys
2003-12-03 22:31
2004.02.25
Запуск ехе-файла и посылка на него сообщения


14-80295
kaif
2004-02-02 22:45
2004.02.25
Вопрос модераторам


1-79944
Ш-К
2004-02-09 16:15
2004.02.25
Абсолютные координаты.


6-80068
Сетевик
2003-12-18 12:17
2004.02.25
Никто низнает как сделать авторизацию на подключение к idTcpserve


1-79793
Leech
2004-02-11 16:29
2004.02.25
---|Ветка была без названия|---