Увеличение скорости работы бд

Тема в разделе "Lotus - FAQ", создана пользователем Dragon108, 25 окт 2010.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Хотелось бы узнать, какие есть методы по увеличению скорости работы бд? или хотя бы просто "как" лучше создавать архитектуру, для того, что бы бд работала быстрее? Был бы признателен ссылкам на какие-нибудь статьи. Спасибо.
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. slangID

    slangID Гость

    Все зависит от платформы на которой ты работаешь. Но если кратко то можно придерживаться следующего:
    Выделим несколько групп методов:
    сервер:
    • запустить сервер без консоли с помощью вызова "nservice.exe -jc -c" (помогает устранить утечку оперативной памяти, возникающую из-за консольного окна Windows); если потом оно все-таки понадобиться, то запустите "jconsole.exe".

    свойства БД:
    • "не сохранять отметки о непрочтении".
    • не "сохранять свойство LastAccessed".
    • "оптимизировать схему таблиц документов".

    представления:
    • ни в коем случае не использовать @now.
    • используйте минимум сортировок; двойные можно заменить на комбинацию противоположных в значениях свойств колонки: "по умолчанию" и "запросу пользователя".
    открытие документов:
    • определить события QueryOpen, PostOpen в субформах и формах функцией Print, если они еще не определены.
    • обращаясь с рисунку не забудьте нажать на Reset в его основных свойствах.
    • в свойствах EmbeddedView поставьте галочку "single category", если каждый раз отображается лишь часть от всего содержимого представления (есть категоризация).
    • соответствие между версиями Lotus Designer и Lotus Client.
    • при отправки шаблонов на предприятие избавиться от субформ, интегрировав их содержимое в формы. Отдельная "ветка" для отправки.

    Lotus Script:
    • используйте db.Search() в самом крайнем случае. Вместо него - view.GetAllDocumentsByKey(). А о db.FTSearch() забудьте сразу.
    • используйте forall вместо for, если это возможно.
    • скажите нет функции evaluate().
    • объявляйте все используемые переменные (не используйте постфиксы %, $,..) и удаляйте не используемые.
    • при переключении документов в коллекции не используйте сочетание оператора for и метода dc.GetNthDocument(i), гораздо быстрее и безопасней сочетание while и dc.GetNextDocument(doc).
    • удалить все вызовы команды stop; поиск лучше осуществлять с помощью синопсиса.
     
  4. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    > А о db.FTSearch() забудьте сразу.
    Видимо, Вы забыли проиндексировать базу :KillMe: Работает шустро.
    Забыв о db.FTSearch() лишаетесь многого.

    > скажите нет функции evaluate().
    Наоборот - на собаках можно наваять здоровенную портянку, которую Evaluate выполнит быстрее скриптового эквивалента.

    >не используйте постфиксы %, $,..
    По моим наблюдениям, как раз наоборот - постфиксы способствуют ускорению.
     
  5. Caspiy

    Caspiy Гость

    Видимо имелось ввиду notesView.FTSearch - вот он реально тормозит на больших объемах!
     
  6. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    свойства БД
    - не использовать иеархию
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    А есть ли у тебя какие-либо подтверждения того, на сколько это улучшает эффективность такого приложения. И будет ли эта эффективность перекрывать те недостатки, которые получает приложение без данного функционала?
    Может следует предупреждать сразу, что это свойство можно отключить для каких-то конкретных приложений? Краткость не всегда сестра таланта ;)
     
  8. valeri2005

    valeri2005 New Member

    Регистрация:
    4 окт 2011
    Сообщения:
    1
    Симпатии:
    0
    А не пробовали scanEZ "окурки" убрать из базы?
    У меня не получилось, к сожалению, эту EZ установить....
     
Загрузка...

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