• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

View.getalldocumentsbykey против View.createviewnavfromcategory

  • Автор темы lionk
  • Дата начала
L

lionk

на днях разбирал одну старю базу которую делал другой чуваки столкнулся с такой штукой,
у него отбор колекции документов из представленя делается при помощи GetAllDocumentsByKey, где ключ лиас родительского документа. хотя в базе есть служебное представление где доки категоризированы по этому алиасу.
я всегда такой функционал делал с помощю CreateViewNavFromCategory и дальнейшим разбором навигатора на ентри а потом на документ или выдёргивал значение колонки.

и вот меня заинтерисовало а какой же метод лучше?
ведь большенство лотусистов самоучки (как мне кажется) и поскольку книг типа "Вот так надо потомучто это оптимально" либо нет либо я не читал :) , а розобратся всёже хочется вот поэтому я и открыл данную тему.

итак какой оптимальный метод отбора колекции доков?
какие вы знаете?
недостатки и достоинства каждого?
(с миру по нитек получим неплохой факю)
 
M

morpheus

да тотже NotesDatabase -> Search
<!--QuoteBegin-lionk+21:11:2007, 15:46 -->
<span class="vbquote">(lionk @ 21:11:2007, 15:46 )</span><!--QuoteEBegin-->CreateViewNavFromCategory
[snapback]86802" rel="nofollow" target="_blank[/snapback]​
[/quote]
Не работал - не наю

<!--QuoteBegin-lionk+21:11:2007, 15:46 -->
<span class="vbquote">(lionk @ 21:11:2007, 15:46 )</span><!--QuoteEBegin-->GetAllDocumentsByKey
[snapback]86802" rel="nofollow" target="_blank[/snapback]​
[/quote]
Вроде быстрая штука )
 
K

Kee_Keekkenen

самый быстрый метод - получение документа по юниду..
 
S

Sandr

Использую и то и то, в зависимости от цели... Но если мне просто колекцию доков получить надо, то использую GetAllDocumentsByKey...
 
L

lionk

<!--QuoteBegin-Sandr+21:11:2007, 18:13 -->
<span class="vbquote">(Sandr @ 21:11:2007, 18:13 )</span><!--QuoteEBegin-->Использую и то и то, в зависимости от цели... Но если мне просто колекцию доков получить надо, то использую GetAllDocumentsByKey...
[snapback]86825" rel="nofollow" target="_blank[/snapback]​
[/quote]
а по какому критерию отбираеш где использовать одно а где другое?
 
A

Azrael

С навигаторами советую быть осторожнее: в наследство база как-то доставалась, где внутри цикла
Код:
While not(entry is nothing)
...
set entry = nav.getNext...
Wend
был код достаточно долго работающий, и с увеличением количества документов во вьюхе стала в определенный момент в строке "set entry" вываливаться ошибка примерное содержание которой: "entry not found in index". Помнится, в своё время проклял всё... Весь код перелопачивать не хотелось, использовал тот же цикл для собирания значений нужных колонок в массив, с которым далее и работал. В данный момент база активно используется, жалоб не наблюдается, но все равно воспоминания неприятные остались...
 
O

oshmianski

Для: Azrael
а noteView.AutoUpdate = False на что?
 
A

Azrael

Для: oshmianski
тогда не знал, да и сейчас по старой памяти если с навигаторами работаю, предпочитаю нужные значения сначала в массив сложить))
 
F

fedotxxl

Для: lionk
ссылка по теме -
навигатор использовать ТОЛЬКО в случае необходимости отсортированного списка. Во всех остальных случаях - getAllDocumentsByKey
 
Y

yerke

<!--QuoteBegin-lionk+21:11:2007, 19:46 -->
<span class="vbquote">(lionk @ 21:11:2007, 19:46 )</span><!--QuoteEBegin-->на днях разбирал одну старю базу которую делал другой чуваки столкнулся с такой штукой,
у него отбор колекции документов из представленя делается при помощи GetAllDocumentsByKey, где ключ лиас родительского документа. хотя в базе есть служебное представление где доки категоризированы по этому алиасу.
я всегда такой функционал делал с помощю CreateViewNavFromCategory и дальнейшим разбором навигатора на ентри а потом на документ или выдёргивал значение колонки.

и вот меня заинтерисовало а какой же метод лучше?
ведь большенство лотусистов самоучки (как мне кажется) и поскольку книг типа "Вот так надо потомучто это оптимально" либо нет либо я не читал smile.gif , а розобратся всёже хочется вот поэтому я и открыл данную тему.

итак какой оптимальный метод отбора колекции доков?
какие вы знаете?
недостатки и достоинства каждого?
(с миру по нитек получим неплохой факю)
[snapback]86802" rel="nofollow" target="_blank[/snapback]​
[/quote]
у меня был такой случай
обрабатывал доки с помощью CreateViewNavFromCategory
в процесс обработки внедрил прогресс бар чтобы было видно
вот что оно показало
если количество категории во вьюшке меньше 30 000
то CreateViewNavFromCategory работает быстро (примерно за 35 сек обработал 27 000 категории)

а если количество ентри больше 30 000 то CreateViewNavFromCategory еле находил нужную категорию и с трудом создавал навигатор

в прочем все сами делайте выводы
 
K

Kee_Keekkenen

некорректный код при обработке навигаторов вообще может привести к падению сервера :rolleyes:
 
L

lionk

некорректный код при обработке навигаторов вообще может привести к падению сервера :rolleyes:
єто что то новое, у меня уже почти два года на серваке работают агенты с навигаторами и всё тьфу-тьфу нормально. а откуда такие сведенья?
 
K

Kee_Keekkenen

да как-то писал агента и в нем нужно было получить массив категорий .. вроде все корректно написал, потому что долго искал, но так и не нашел в чем же была проблема .. в массив много мусора попадало кроме категорий ?! - переполнение и кирдык серверу..
 
O

oshmianski

Для: Kee_Keekkenen
и при чем же здесь навигатор?
 
M

Mihal

Мои размышления...

При использование ViewNavigator в итоге обрабатываем ViewEntry. При использовании GetAllDocumentsByKey - документы. Так вот, документ (при обращении к нему) "приезжает" полностью. А ведь в нём может быть и аттач какой-нить на много мегабайт. А это время. ViewEntry содержит, как я понимаю, кусок индекса представления. То есть, приезжает ровно столько, сколько нужно (естественно, если всё сделать так, что не надо к документу обращаться). Так что скорость работы зависит и от размеров документов, которые потом обрабатываются.

<!--QuoteBegin-Kee_Keekkenen+23:11:2007, 00:38 -->
<span class="vbquote">(Kee_Keekkenen @ 23:11:2007, 00:38 )</span><!--QuoteEBegin-->некорректный код при обработке навигаторов вообще может привести к падению сервера
[snapback]87035" rel="nofollow" target="_blank[/snapback]​
[/quote]
Некоректный код при обработке чего-либо может привести к падению всего :).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!