|
Как сделать красиво: ограничить количество записей?
|
|||
---|---|---|---|
#18+
Хочу сделать что-то типа аппендера для log4net, т.е. писать лог в базу sqlite. Но при этом хотелось бы ограничть количество записей в таблице каким-то максимумом N. Как такое реализовать, чтобы минимум блокировок, учитывая, что писаться будет лог wcf сервиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 16:04 |
|
Как сделать красиво: ограничить количество записей?
|
|||
---|---|---|---|
#18+
Вместо N записей, делай N дней. У тебя в логе всяко будет дата-время когда запись появилась. Ну и запускай раз в сутки, команду типа delete from table where dt<(now-n*день). Конкретную формулу сам придумаешь, она будет зависеть от того как ты хранишь даты и откуда будет подаваться команда на удаление. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 20:11 |
|
Как сделать красиво: ограничить количество записей?
|
|||
---|---|---|---|
#18+
White OwlВместо N записей, делай N дней. У тебя в логе всяко будет дата-время когда запись появилась. Ну и запускай раз в сутки, команду типа delete from table where dt<(now-n*день). Конкретную формулу сам придумаешь, она будет зависеть от того как ты хранишь даты и откуда будет подаваться команда на удаление. Я хочу два парметра ввести: N максимум записей, N секунд В некоторые моменты может быть и в один день много записей. Вопрос в "автозачистке" остается. Скажем, в SQL Server я сделал зачистку в триггере на добавление. Получается в лоб надо делать: 1) добавил 2) удалил, оставив N ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 20:24 |
|
Как сделать красиво: ограничить количество записей?
|
|||
---|---|---|---|
#18+
Ежели автозачищать стрёмно, то, может, забить сразу в таблицу N записей и просто обновлять их (i mod N) по мере поступления новых сообщений. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 20:53 |
|
Как сделать красиво: ограничить количество записей?
|
|||
---|---|---|---|
#18+
WinnipuhЯ хочу два парметра ввести: N максимум записей, N секунд В некоторые моменты может быть и в один день много записей.Ну можно конечно и так. Но... Вот пусть у тебя за день в среднем набирается сотня записей. Ты каждое утро приходишь и смотришь статистику "по вчера". Все хорошо, ставишь обрезать по количеству записей в сотню. А в один прекрасный день активность выросла и за день набралось триста записей, а и ты из них убил двести... А теперь попытайся объяснить своему начальнику почему он вместо статистики за вчера видит только статистику за вечер? Люди привыкли оперировать днями когда речь идет о логах, а не абстрактным количеством записей. WinnipuhВопрос в "автозачистке" остается. Скажем, в SQL Server я сделал зачистку в триггере на добавление. Получается в лоб надо делать: 1) добавил 2) удалил, оставив NТут тоже так можно. Глупо, но можно. Внешняя команда на бэкап старых данных и удаление намного эффективнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 23:27 |
|
|
start [/forum/topic.php?fid=54&fpage=9&tid=2008641]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 130ms |
0 / 0 |