Re: [MSSQL]Отслеживание изменений в чужой базе без триггеров
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.08.09 04:30
Оценка:
Здравствуйте, Sshur, Вы писали:

S>Добрый день!


S>Нужна идея. Есть чужая база на MSSQL2000, модифицировать её нельзя. Там есть таблица вида (Код_ТС int not null FK, Путевая_точка int not null FK, План_время_прохождения datetime not null, Реал_время_прохождения datetime). Таблица содержит план для кучи маршрутных транспортных средств, времена когда они должны проходить эти путевые точки. В таблице порядка 10 тыс записей. Чужое ПО отслеживает прохождение этих точек и проставляет в колонку Реал_время_прохождения соответствующее время.


S>Мне нужно быстро получить таблицу (Код_ТС int, Последняя_путевая_точка int). Я могу сделать это запросом — но, как ни крути, получается время 0,5 — 0,7 сек, что неприемлемо.

Непонятно, почему. Приведите запрос, который вы выполняете.
S> Идеально подошел бы триггер, проставляющий значения в какую-то мою таблицу — но модифицировать базу нельзя.
Почему нельзя?

S>Пока, единственным вариантом видится свое маленькое приложение, которое будет периодически (скажем, раз в секунд 10) опрашивать чужую таблицу и строить нужную мне. Задержка в 10 сек. приемлема, так как мне надо быстро получить табличку, пусть и с немного устаревшими данными.

Почему вы думаете, что получение данных из вашей таблички будет быстрее?
S>Но, может еще есть какие-то варианты? Никак нельзя в пределах сервера реализовать функционал триггеров, но без навешивания самого триггера? Другие базы и пользовательские объекты создавать на сервере можно.
Можно попробовать состряпать indexed view на основе нужного запроса.

S>Спасибо
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.