Привет! > Еще хочу уточнить: результат SUBSTRING - BLOB, но тип описанного > вычисляемого поля у меня в IBManager показан как VARCHAR(100). Вот я и > подумал, что если такое поле сделать, то указанные раньше негативные > моменты отпадут. Не так?
IBManager и все остальные показывают тебе результат. Но. Как мне совсем недавно объяснил ДЕ, substring создает ВРЕМЕННЫЙ блоб, который сервер до коммита где-то должен хранить. Вот он его и хранит. Минимальный размер, который хаваецца - 1 страница. Вот и посчитай, сколько памяти потребуется для временных блобов при размере страницы 16 кб и при селекте 1000 таких блобов. >> И вычисляться эти поля будут при каждом селекте из таблицы. А триггер будет >> срабатывать только на update или insert. > Я так понимаю, не при "каждом селекте", а при "каждом селекте, который > обращается к указанному вычисляемому полю" ? Или я неправильно > представляю работу сервера по выборке данных? Вот тут я не уверен, врать не буду. Кажется тот же ДЕ (или нет?) говорил, что читается минимум 1 страница из таблички - даже при select 1 from table. Разворачиваются при этом вычисляемые поля или нет - хз, можешь поэкспериментировать и нам рассказать. > По специфике моей базы ВСЕ селекты нуждаются в указанном поле, в то > время как апдейты чаще всего затрагивают другие поля, не меняя БЛОБ. > Потому у меня и возникла идея- зачем при каждом обновлении (которое не > меняет БЛОБ) заново вычислять в тригере строку, которая не изменилась? Ну и сравни в триггере, изменился ли дескриптор блоба. Если не изменился - ничего не обновляй. -- Best regards, Sergey mailto:[EMAIL PROTECTED]

