Повышение производительности внешней базы данных на SQL Server

Полные сведения о повышении производительности баз данных на SQL Server можно найти в документации к SQL Server. Здесь приведены лишь некоторые рекомендации по повышению производительности.

  • Проектируйте таблицы так, чтобы в них не содержалось избыточной информации. Используйте средство нормализации схемы данных (команда Сервис, Анализ, Таблицы (Tools, Analyze, Tables)) для разделения таблиц на несколько связанных. Хорошо спроектированная схема данных способствует более быстрому доступу к данным.
  • Установите контроль ссылочной целостности данных. Это позволит сохранить корректность данных в связанных таблицах при добавлении, удалении и обновлении записей.
  • Выбирайте подходящие типы данных для полей таблиц. Это позволит сэкономить место на диске и оптимизировать операции объединения данных из разных таблиц.
  • Индексируйте поля, по которым производятся сортировка, объединение и выборка. Это приведет к существенному повышению производительности при выполнении запросов, созданных на основе таблиц, содержащих индексированные поля по обе стороны связи, и запросов, производящих выборку по индексированным полям. Однако индексирование полей замедляет процесс добавления, обновления и удаления записей.
  • Добавьте в таблицы поля типа "штамп времени" (timestamp) для повышения скорости удаления и обновления записей, особенно если в таблице содержится большое количество полей. Поле "штамп времени" (timestamp) используется SQL Server перед обновлением записи для определения, была ли запись изменена. Это позволяет получить выигрыш производительности, особенно в многопользовательской среде.
  • Периодически проводите сжатие базы данных на SQL Server, чтобы освободить место на диске и реорганизовать индексы и данные для более быстрого доступа к данным.

 

Репликация баз данных
Что такое репликация? Это средство организации работы одного или нескольких пользователей с одним и тем же документом, базой данных или другими-файлами на разных компьютерах независимо, без одновременного доступа к файлам, но когда требуется поддерживать некоторую общую версию изменяемых файлов, содержащую в себе все последние исправления, сделанные независимо. Более конкретно, репликация — это процесс создания копий файлов, между которыми может осуществляться обмен обновляемыми данными или объектами. Такие копии называются репликами, а такой обмен — синхронизацией.
Когда нужна репликация? Microsoft приводит два примера необходимости в такой организации работы.

  • Вы — агент по продажам и совершаете поездки для посещения клиентов. Перед поездкой вам нужно просмотреть последние заказы и маркетинговые тенденции клиентов, которых вы собираетесь посетить. Эта информация хранится в базах данных о клиентах и заказах вашей компании. Вы загружаете данные о клиентах на свой переносной компьютер. Во время посещения клиента вы обновляете загруженную информацию о клиенте, например: номера телефонов, адреса E-mail и прочую персональную информацию о клиенте на вашем переносном компьютере, а также вносите туда информацию о новых заказах. Однако вам необходимо закончить работу с заказами как можно быстрее. В конце дня вы подключаетесь по Интернету к сети вашей компании через защищенное удаленное соединение и обновляете базы данных о клиентах и заказах. Конфликты данных автоматически разрешаются благодаря имеющимся бизнес-процедурам. После этого вы печатаете и отправляете клиенту по факсу отчет о принятии заказа или отправляете снимок отчета по E-mail, который клиент может просмотреть с помощью программы Просмотр снимков (Snapshot Viewer).
  • Вы — разработчик программного обеспечения и хотите закончить работу с приложением вашей компании, отслеживающим статистику об обнаружении и исправлении ошибок в проекте, дома, где нет необходимого или защищенного доступа к корпоративной сети. Вы забираете данные только о ваших ошибках, помещая их на свой переносной компьютер, и отключаете его от корпоративной сети. Затем приходите домой и работаете с имеющимися данными, изменяя поля статуса ошибки и прочие поля с информацией об ошибке. На следующий день* вы подключаете свой переносной компьютер к корпоративной сети и легко син-* хронизируете свои изменения с приложением вашей компании, отслеживающим; статистику ошибок в проекте.

Существует несколько средств репликации баз данных, проектов Access и других файлов.

  • Портфельная репликация — средство операционной системы Microsoft Windows. Оно позволяет осуществлять репликацию файлов многих типов, в том числе баз данных Access (файлов MDB), исключая проекты Access (файлы ADP).
  • Репликация баз данных и проектов средствами Access — встроенные средства Microsoft Access. Они предназначены для репликации баз данных и проектов Access.
  • Репликация с помощью Диспетчера репликации Microsoft — полнофункциональное средство управления репликами, планирования синхронизации и просмотра элементов набора реплик. Диспетчер репликации входит в комплект средств разработчика Microsoft Office 2002 Developer Edition. Описание Диспетчера репликации (Replication Manager) можно найти в документации этого комплекта.
  • Репликация файлов на сервере Web — средство сервера Web фирмы Microsoft. Оно позволяет работать с файлами, сохраненными на узле Web, в автономном режиме — без подключения к серверу.
  • Программная репликация с помощью интерфейсов DАО и JRO. Создание и управление репликами баз данных Access может осуществляться программно — в процедурах на VBA. Разработчики приложений Access могут обеспечить автоматическую синхронизацию реплик и прочие действия, связанные с репликацией, используя специальные свойства и методы объектов из библиотек VBA: Объекты репликации и Jet (JRO) для репликации баз данных Access 2000 и выше и Объекты доступа к данным (DАО) для репликации баз данных более ранних версий — Access 95 и 97.

Репликация включает следующие действия:

  • выбор средства репликации;
  • создание реплик;
  • синхронизация реплик;
  • управление репликами.

Способ выполнения перечисленных действий зависит от выбранного средства репликации. Мы рассмотрим основные вопросы, касающиеся использования перечисленных средств репликации, но не будем касаться темы программирования. Дополнительную информацию о репликации можно найти в справочной системе Access 2002.