On Tue, Aug 08, 2006 at 05:41:30PM +0300, Mykola Dzham wrote:
Alexander Shikoff wrote:
Стоит задача построить некую БД с такой фичей: записи в таблицах, к которым не было обращения SELECTом на протяжении некоторого времени, удалять.
В связи с этим вопрос: MySQL или PostgreSQL могут дать информацию о времени последнего доступа к записи в таблице?
Именно такого нет. Можно в Postgre вместо таблицы сделать view с использованием хранимки, которая будет где-то сохранять время последнего обращения, но, как уже говорилось естественно за счет увеличения нагрузки.
Вот подумалось вот чего - "жуткий хак" СУБД, при котором в отдельный файл на отдельном диске писался бы лог обращений к ячейкам таблиц БД. И если задача определить "сюда уже месяц никто не заглядывал", а порядок количества обращений известен - то что-то вроде циклического буфера, если нет - то файл ротейтить и обрабатывать - кажется, это чуть ли не лучшее решение для поставленной задачи с точки зрения "напрягов по ресусам". Если же нужно в реалтайме это отслеживать - то отдельная СУБД на отдельном сервере, возможно в комплекте с всякими "можно извратиться через ...", а то хакать собственно СУБД для такого - как-то напряжнее и неустойчивее получится (типа "что делать, если к серверу учёта обращений не удалось достучаться?"). -- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message