Форум: "Базы";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c