Notesviewentry.universalid дергает сам документ?

Тема в разделе "Lotus - Программирование", создана пользователем Akupaka, 17 янв 2011.

  1. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Привет!

    Кто знает, notesViewEntry.UniversalID достает документ из БД или читает значение из индекса вида?
    Т.е. есть ли смысл использовать notesViewEntry вместо документа, если надо читать свойство notesViewEntry.UniversalID?
    Хотя, можно добавить еще один столбец с унидом в вид и не париться... Но вопрос уже созрел ))
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    КМК, за документом Lotus обращается в базу только по notesViewEntry.Document, остальные свойства читаются из самого notesViewEntry, т.е. смысл есть.
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    А кто вообще сказал, что использовать notesViewEntry вместо документа будет производительнее?
    Подробнее кто условия такой производительности может рассказать?
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    мат-лы есть в гуле и я - под конкретную задачу смотрел
    энтрисы берут индех вида, док - тянет поля с сервера
    ощутимо будет, при обращении к сервреру
     
  5. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    жаль гуглу надо еще правильно спросить :newconfus:

    Ладно, если вы, уважаемые, утверждаете верность данного утверждения, то приму как есть.
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    а что мешает замерить?
    генерим 10тыс. доков, поля выводим в колонки
    гоним цикл по ентрисам и по докам, сравниваем таймер
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    лень :newconfus:
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В подтверждение сказанного
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">результаты профилирования простенького агента</div></div><div class="sp-body"><div class="sp-content">UNID = entry.UniversalID
    Class Method Operation Calls Time
    Session CurrentDatabase Get 1 0
    Database Views Get 1 547
    View AllEntries Get 1 47
    ViewEntryCollection GetFirstEntry 1 15
    ViewEntry UniversalID Get 1 0

    UNID = entry.Document.UniversalID
    Class Method Operation Calls Time
    Session CurrentDatabase Get 1 0
    Database Views Get 1 344
    View AllEntries Get 1 47
    ViewEntryCollection GetFirstEntry 1 0
    ViewEntry Document Get 1 15
    Document UniversalID Get 1 0

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код агента</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    Sub Initialize
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim entry As NotesViewEntry
    Dim UNID As String
    Set db = s.CurrentDatabase
    Set view = db.Views(0)
    Set entry = view.AllEntries.GetFirstEntry
    UNID = entry.UniversalID 'в первом варианте
    UNID = entry.Document.UniversalID 'во втором варианте
    End Sub
    P.S. Время исполнения отдельных операций в данном случае роли не играет (зависит от загрузки сервера, сети, бокового ветра), главное — число и суть операций.
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    не поленился...
    но результат меня удивил (или я где-то напортачил, к вечеру)
    нахожусь в тяжёлом недоумении..., локально - медленнее на энтрисах, вариант клент-сервер ситуёвина не луче - на энтрисах 1.5-2 раза хуже (как минимум)
    клиент 7.0.4 под вайн 1.2.2
    сервак 7.0.2 под РедХат (стареньком)
    результаты:
    -локально NDC-1sec, NVN-5sec
    -клиент-сервер NDC-52sec, NVN-90sec

    т.е. в данных условиях (10тыс доков), пробег по полной колекции доков - быстрее, чем по нвигатору (вариант вьюэнтрисколлекшн - ещё хуже)
    Посмотреть вложение performance.nsf.zip
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Теперь и я ))) Хотя код переделать не составит труда, все-равно я GetAll...ByKey использую. Но ситуация выходит нелепая ))
    Хотя, мне ближе все же метод прохода по документам, т.к. там и поля более "типизированы", т.с. Но вот решил использовать индекс.
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    я решал специфичные задачи, возможно, зависит от вьюшки...
    у меня никак по докам не получалось - вернее логика там была такова, что доки потом анализировать и отбирать повторно надо былобы

    Добавлено: кстати - да!
    похачив колонку с вЭриантом (многозначное поле, но не спличеное во вью)
    получил сопоставимый резалт на локале

    Добавлено: вот очередное подтверждение :lovecodeby: - во всём нужен подход к задаче (вторую колонку я специально делал сложной)
    видать кэша на индекс не хватало, что убивало перформанс
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    гляжу на сетку и вижу интересную картину - сперва (при проходе по энтрисам) трафик очень мал, но с опред. момента (где-то половина) он возрастает "по-полной"
    возможно подкрутив к-то правметры - можно добиться лучшего перформанса, на энтрисах
     
Загрузка...
Похожие Темы - Notesviewentry universalid дергает
  1. fedotxxl
    Ответов:
    6
    Просмотров:
    3.172

Поделиться этой страницей