В письме от Tue, 27 Sep 2011 17:26:15 +0400, Андрей Кручинин <an...@bk.ru> сообщал:

Ну я так и хотел, но есть засада типа - кода то достаточно. И указаний тех же таблиц много.

ну так если дублировать (вернее даже две с половиной копии делать) всю БД, то это много места на диске займёт, а его ты вроде писал тоже не хватает. но - заменять код нужно будет только в месте подключения (другая сторка коннекта) или даже только менять алиас на сервере (но тогдавсех пользователей надо единомоментно переключать. Или алиасы делать со сквозной нумерацией), остальной код и не должен заметить, что ему подсунули что-то другое - базы кроме аналтики одинаковые.

Идеальный вариант был бы со вьюхой, но сомнения гложут. Думать надо и пробовать.

Тут кто-то кажется предлагал в таблицу добавить столбец "версия аналитики"
А что если это объединить

Сделать вьюху типа select 1 as magic, то что надо from table1 union select 2 as magic, то что надо from table2 и таблицу на одну единственную строку и столбец - с номером актуальной таблицы и ещё одну вьюху select всё-кроме-magic from view1 where view1.magic = rdb$database.magic

залил новые данные, изменил номер актуальной, подождал пока отвалятся транзакции, читающие со старой (или помог им отвалиться как-нибудь), зачистил таблицу, как Влад писал - пусть это и займёт пару часов, по приходу свежие данные залили и опять поменял флажок. И вроде меаданные трогать не надо. Надеюсь в таком случае оптимизатор поймёт, что в каждый момент выборка делается только по одной из таблиц, а не будет читать все таблицы и отбрасывать уже потом ?



--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/

Ответить