Удалить неиспользуемы представления

dimat

Lotus team
31.07.2008
516
0
#1
Всем привет!
Есть бд в которой накопилось очень много представлений, среди них есть те, которыми никто не пользуется и хотелось бы их удалить.
Для этого хочу узнать когда последний раз обращались к представлению(это возможно?), исходя из этого сформировать список неиспользуемых представлений для удаления.

Как это можно реализовать?
Или может есть еще какие то варианты?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#2
dimat
В любом виде 5я закладка Index -> Discard указывается через сколько дней данный вид очищать от индекса если он не используется.
Итого если вид не используется он ужимается сам.

Если уж очень приспичило прямо сейчас избавиться от вида то через администратор выделите нужную базу и правым кликом выберите самый нижний пункт Manage Views... получите список всех видов и папок а так же их размер.
По умолчанию если не меняли настройки вида, то через 45 дней они очищаются и их размер будет 0, это и позволит вам понять какие можно удалить.
 

dimat

Lotus team
31.07.2008
516
0
#3
В любом виде 5я закладка Index -> Discard указывается через сколько дней данный вид очищать от индекса если он не используется.
Итого если вид не используется он ужимается сам.

Если уж очень приспичило прямо сейчас избавиться от вида то через администратор выделите нужную базу и правым кликом выберите самый нижний пункт Manage Views... получите список всех видов и папок а так же их размер.
По умолчанию если не меняли настройки вида, то через 45 дней они очищаются и их размер будет 0, это и позволит вам понять какие можно удалить.
А програмно это можно узнать для каждого вида?

Добавлено:
Проблема в том что несипользуемых представлений (с размером индекса 0) больше 200. через Manage Views со списком представлений ничего не сделать. вот и хотелось бы програмно найти все представления с размером индекса 0 и удалить их.

Это возможно?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#4
А зачем их совсем удалять? Если индексы пустые, то они не влияют на работоспособность БД, по-идее.
Думаю, что такую инфу можно получить через Notes API. Либо сделать скрин из Manage Views и пройтись по нему руцями.
А вообще, то необходимость вида определяют не через размер индекса, а из его целевого предназначения.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#5
dimat
Не задавался такой задачей, но вот вам начало:
Код:
Set nc = db.CreateNoteCollection(True)
Call nc.SelectAllIndexElements(True) ' - виды
nid = nc.GetFirstNoteId
For i = 1 To nc.Count
Set doc = db.GetDocumentByID(nid) ' Документ вида - возможно поле $ViewFormat содержит необходимую инфу
nid = nc.GetNextNoteId(nid)
Next
 

dimat

Lotus team
31.07.2008
516
0
#6
Set nc = db.CreateNoteCollection(True)
Call nc.SelectAllIndexElements(True) ' - виды
nid = nc.GetFirstNoteId
For i = 1 To nc.Count
Set doc = db.GetDocumentByID(nid) ' Документ вида - возможно поле $ViewFormat содержит необходимую инфу
nid = nc.GetNextNoteId(nid)
Next
Это я уже сделал, вот как раз из какого поля выдирать размер индекса и не знал