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

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

  1. Dragon108

    Dragon108 Well-Known Member

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

    nvyush Well-Known Member
    Lotus team

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

    slangID Гость

    Репутация:
    0
    Все зависит от платформы на которой ты работаешь. Но если кратко то можно придерживаться следующего:
    Выделим несколько групп методов:
    сервер:
    • запустить сервер без консоли с помощью вызова "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
    Lotus team

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

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

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

    Caspiy Гость

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

    ToxaRat Чёрный маг
    Команда форума Lotus team

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

    Akupaka А че я?.. О.о

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

    valeri2005 New Member

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

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