Конференция "Базы" » Утечка памяти при работе с TIbDataSet [D6, FireBird 2.1]
 
  • MsGuns © (07.10.08 23:05) [60]
    >Johnmen ©   (07.10.08 22:59) [58]
    >С какого они длительные??? Очень даже короткие!

    При размере порций в 5000 штук ?

    >Я админом не командую. Но если заставят, то просто прикажу прогнать >импорт ещё раз.

    Т.е. отресторить базу из бэкапа, предварительно послав на перекур всех юзверей и запустить по новой ? На месте админа я бы такого спесилиста повесил на входе в серверную. За яй... в смысле не за шею ;)
  • kaif © (08.10.08 00:37) [61]
    О чем спор?
    Создавать временные таблицы в IB не принято.
    Хочешь - создавай.

    MsGuns ©   (07.10.08 22:53) [55]
    >Johnmen ©   (07.10.08 22:50) [53]

    Под "целостностью" я в данном случае (первая цитата) имел в виду не нарушение форинкеев, а нечто другое - когда в БД попадут НЕ ВСЕ записи, а только часть, причем абсолютно неизвестно заранее какая


    А я как раз имел в виду форинкеи и юниккеи.
    И я до сих пор не знаю, как ты собираешься отловить нарушение внешнего ключа при вставке через временную таблицу. У тебя отвалится весь insert into ... select from без всякой информации о том, в какой именно строке это произошло. А при непосредственном импорте у тебя имеется естественная возможность узнать это и что-то предпринять, в зависимости от задачи, например, проигнорировать и пойти дальше.

    А насчет "не всех" записей, я уже сказал. Незачем разбивать на пакеты по 5000. Можно и в одной транзакции загнать хоть миллион. Я загонял без проблем. И в случае отката единственная проблема, которая возникнет, это некоторый тормоз по чистке мусора. После одного душного select count(*) из этой таблицы все придет в порядок (кроме размера файла базы, разумеется).

    Страх перед откатом больших вставок, я думаю, идет от старых версий IB6.0,  в которых были ошибки в связи с чисткой мусора.
    В Firebird 1.5 Final этих ошибок я не обнаружил.
  • Германн © (08.10.08 01:08) [62]

    > MsGuns ©   (07.10.08 22:47) [52]
    > Я - зловредный и ехидный тип, никого, окромя себя не видящий
    > и не слышащий.
    >

    Самокритика это очень хорошо. :)
  • Johnmen © (08.10.08 09:30) [63]

    > MsGuns ©   (07.10.08 23:05) [60]
    > При размере порций в 5000 штук ?

    Да. Что тут удивительного? Или транзакция в 1-5 сек. считается неприлично длительной?

    > MsGuns ©   (07.10.08 23:05) [60]
    >> ...прогнать импорт ещё раз.
    > Т.е. отресторить базу из бэкапа, предварительно ....

    Что за фантазии??? :)
    Просто импорт ещё раз. Но, естественно, сам импорт написан не недоучившимся студентом. Т.е., по кр.мере, с грамотной обработкой исключений, возникающих при вставке очередной записи. И БД спроектирована не им же. Т.е., по кр.мере, каждая таблица имеет как минимум уникальный индекс.
 
Конференция "Базы" » Утечка памяти при работе с TIbDataSet [D6, FireBird 2.1]
Есть новые Нет новых   [134474   +35][b:0][p:0]