« Назад
Буферизация – это такой способ внесения изменений в таблицу, когда первоначально изменения выполняются в памяти, а затем переносятся на диск.
VFP поддерживает 2 вида буферизации: пессимистическую и оптимистическую, различающиеся подходами к блокировке и освобождению записей. Возможны следующие способы буферизации записей и таблиц:
-
Нет буферизации. Предоставляется прямой доступ к записям.
-
Пессимистическая буферизация записи. Запись блокируется одним пользователем на все время выполнения изменений. Другим пользователям запись доступна только для чтения.
-
Оптимистическая буферизация записи. Запись на время выполнения изменений не блокируется. Блокировка выполняется только в момент переноса изменений в таблицу, что уменьшает время ограниченного доступа к записи.
-
Пессимистическая буферизация таблицы. Записи блокируются на все время редактирования. Блокировка снимается, когда выполняется функция TABLEUPDATE( ).
-
Оптимистическая буферизация таблицы. Записи блокируются только на время выполнения функция TABLEUPDATE( ). Для отказа от изменений – удаления данных из буфера употребляется TABLEREVERT( ). Функция должна быть вызвана до фиксации изменений, например функцией TABLEUPDATE( ).
Пессимистическая буферизация обеспечивает наибольшую безопасность с позиции сохранения целостности данных, но является самой медленной.
Для буферизованной таблицы не поддерживаются некоторые команды, например следующие: ALTER TABLE, INDEX, MODIFY STRUCTURE, PACK и ZAP.
|