Ремонт и восстановление баз данных InterBase, Firebird, Yaffil
Модераторы: kdv, Alexey Kovyazin
-
SteelRat
- Сообщения: 4
- Зарегистрирован: 15 дек 2006, 10:19
Сообщение
SteelRat » 15 дек 2006, 10:36
Наступил на грабли:
Сделал таблицу t1 в БД (fb 1.5) затем сделал таблицу t2. Добавил в таблицу t1 вычисляемое поле из t2. IBExpert-ом делаю бацкап и рестор БД в другое место. Если есть галка "Коммит после восстановления каждой таблицы" то t1 НЕ восстанавливатся, т.к. t2 ещё не восстановлена. Если галку убрать, то база восстанавливается без проблем.
Вопрос: Есть ли способ изменить порядок бацкапа ? Или только путём удаления t1 и создания заново ?

-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 15 дек 2006, 12:02
Не делать вычисляемых полей из других таблиц.
-
SteelRat
- Сообщения: 4
- Зарегистрирован: 15 дек 2006, 10:19
Сообщение
SteelRat » 15 дек 2006, 13:43
Да вот тоже подумал - зачем ? Это выборка из баланса, движимого и недвижимого имущества, и прочее... В итоге перенес на клиента, типа надо - считай, не надо - не считай

-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 15 дек 2006, 15:20
а еще есть join-ы...
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 15 дек 2006, 17:34
Если же позарез нужно какие-то агрегаты хранить в таблице (пересчёт долгий, или же характер вычислений "накопительный"), то ещё можно триггеры покурить, в настоящее, невычисляемое, поле.
-
SteelRat
- Сообщения: 4
- Зарегистрирован: 15 дек 2006, 10:19
Сообщение
SteelRat » 21 дек 2006, 09:12
Да, нет сенкс

Сам виноват... Навешаю таких полей и FB начнёт тормозить. На сколько я понял вычисляемые поля применять надо аккуратно и без нУжды не сувать

-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 21 дек 2006, 09:28
да не FB начнет тормозить, а модель такой выборки начнет тормозить, потому что она тормозная по определению. У тебя ж на выборку каждой записи из таблицы будет дергаться этот запрос.