|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Serg Vasiltsoff 2:5020/400 04 May 2001 18:44:15 To : All Subject : Re: оповещение об изменении -------------------------------------------------------------------------------- > Есть таблица, каждая запись в ней - некая команда для приложения. > Приложение следит за таблицей и при добавлении/изменении записей в ней > производит некоторые действия. > Хочется как-то обеспечить сабж (т.е. обойтийсь без периодического сканирования > таблицы) и при изменении таблицы сливать не все записи, а только > новые/измененные. Существуют ли решения отличные от использования timestamp'ов? Да. Врезка в механизм транзакционной репликации. Оставляешь LogReader и подменяешь Distributor По крайней мере у тебя будут артикли. Или пишешь хитрый фильтр для логридера.... Или пишешь свой логридер ;) А чем стэмпы не устраивают? Фактически есть несколько способов реализации: - полное сканирование - реакция на каждое изменение (как - пока не важно) - сканирование изменившихся записей Я больше способов не знаю, а те, что знаю, по-моему сводятся к этим. Если интервал реакции терпит относительно большого времени (минуты), то стэмпы - идеальный вариант. Ты на десять апдейтов делаешь одно действие. Кстати, алерты в MS SQL тоже накопительные. То есть при всей асинхронной своей природе они вызываются не непосредственно по прошествии некоторого тайм - аута, то есть кучка подконтрольных действий вызовет один алерт и т.д. Hасчет врезки в реплику - я пробовал, но быстро понял бесперспективность подхода. Сильно все мутно и недокументировано. --- ifmail v.2.15dev5 * Origin: Lime Systems (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/120050a6722b1.html, оценка из 5, голосов 10
|