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

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

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

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

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

  • Автор темы Dragon108
  • Дата начала
D

Dragon108

Хотелось бы узнать, какие есть методы по увеличению скорости работы бд? или хотя бы просто "как" лучше создавать архитектуру, для того, что бы бд работала быстрее? Был бы признателен ссылкам на какие-нибудь статьи. Спасибо.
 
S

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; поиск лучше осуществлять с помощью синопсиса.
 
S

Shandrik

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

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

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
свойства БД
- не использовать иеархию
 
A

Akupaka

свойства БД
- не использовать иеархию
А есть ли у тебя какие-либо подтверждения того, на сколько это улучшает эффективность такого приложения. И будет ли эта эффективность перекрывать те недостатки, которые получает приложение без данного функционала?
Может следует предупреждать сразу, что это свойство можно отключить для каких-то конкретных приложений? Краткость не всегда сестра таланта ;)
 

valeri2005

К удалению 21.01.2019
04.10.2011
1
0
BIT
0
А не пробовали scanEZ "окурки" убрать из базы?
У меня не получилось, к сожалению, эту EZ установить....
 
Мы в соцсетях:

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