- Нормализация таблиц. На быстродействие БД непосредственно влияет то таким образом было проведена нормализация таблиц, т.е. таким образом в таблицах устраняется избыточность данных. Теоретически таблицы нормализуется до 3, 4-ой нормальной формы, т.о. чтобы уменьшить требуемые дисковые пространства для хранения данных. Т.о. для поиска информации по какому-либо запросу требуется установить связь между всеми нормализированными таблицами. На практике при разборке структуры БД учитывают достоинства и недостатки нормализации и в соответствии с требованиями к ИС определяют, можно ли пожертвовать дополнительно расходом дискового пространства для хранения не полностью нормализованной таблицы БД в целях обеспечения максимального быстродействия.
- Зависимость структуры данных от метода доступа к ним. Теоретически при разработке структуры БД необходимо создать схему, независимую от методов доступа к данным. На практике при многопользовательском доступе невозможно полностью абстрагироваться от того, каким образом эти данные будут обрабатываться.
Пример: пусть в БД находятся две таблицы: товар и расход. При формировании заявки на покупку товара второй покупатель не должен передавать запрос на этот е товар, т.к общим требованием к предметной области является количество товара большее чем количество расхода. Для выполнения запроса на запрос в таблицу товар следует ввести поле Status, если оно False, то запись занята другой транзакцией, если true, то свободно.
Update Tovar
Set status=false
Where Tovar.tovar=:parametr, где parametr код товара.
2, Оптимизация запросов в БД связана с построением адекватной запросов и оптимальной структуры индексов таблиц БД, а также оптимизация текстов запросов в соответствии с использованными индексами. От структуры индексов структуры БД зависит эффективность построения запросов, т.к. они используют существующие индексы не будут последовательно просматривать таблицу в целом. Индексы следует создавать в случае: 1) если по столбцу или группы столбцов производится поиск в таблице БД.(используется в приложении Where оператора Select); 2)если по столбцу производится сортировка набора данных возвращаемого в качестве результата запроса (приложение Order By запроса Select) Не рекомендуется создавать индексы, если: *Поле редко используется для поиска сортировки или объединения; *Поле содержит часто меняющееся значение; *Поле содержит небольшое количество вариантов значений.
3, оптимизация клиентских приложений.
Эта оптимизация предназначена для повышения эффективности организации доступа к удаленной БД, от которого зависит эффективность работы всего клиентского приложения.
1)Минимизация соединения с БД. Если используется интерфейс соединения с БД BDE, то для связи с драйвером БД вместе с компонентами TDataSet (TTable u TQuery) целесообразно использовать компоненты TDataSet, которые предназначены:
- Для создания постоянного соединения с БД
- Для создания локального псевдонима БД
- Изменение параметров соединения, установленных для псевдонима БД
- Для управления транзакциями.
Компонент TDataBase содержит 2 свойства: AliasName (выбирается созданный драйвер для конкретной БД), DataBaseName (указывается ее локальный псеводним). Пример: AliasName Stud; DataBaseName Stud1.
Установить свойство Connect в True, компонент осуществляет связь с БД и создает ее локальную копию. Компоненты TDataSet в свойстве DataBaseName должны содержать не Stud, а Stud1. в компоненте Dataase для отключения аутентификации пользователя свойство LoginPront следует установить в False. Т.о. использование компонентов TDataBase позволяет обращаться напрямую к БД 1 раз, а все невизуальные компоненты будут обращаться к локальной копии без использования компонента TDataBase. Обращение к БД происходит каждый раз, когда компонент TDataSet активизируется.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.