Очистка внешней памяти

Проверяется тестом memtest.

Перераспределение внешней памяти, занимаемой файлами базы данных, может происходить только в двух случаях: расширении таблиц и удалении таблиц. При изменении содержимого таблиц (удалении данных) перераспределения не происходит. Для тестирования освобождения внешней памяти анализируется содержимое памяти до, и после удаления некоторой таблицы.

Реализация:

  1. на гибком диске создается таблица. Очередь файлов БД устанавливается равной 5 файлам;

  2. в процессе работы теста создаются таблицы TEST1, TEST2, TEST3, TEST4, состоящие из 1 столбца типа char(20). В таблицу TEST1 заносится строка TESTING. С помощью последующего открытия таблиц TEST2, TEST3, TEST4 таблица TEST1 вытесняется на диск;

  3. производится сканирование диска для определения количества строк TESTING;

  4. производится удаление таблицы TEST1;

  5. повторяется сканирование диска. Если количество строк TESTING не изменилось, значит, очистка памяти не происходит, иначе остаточная информация удаляется. Т.к. обрабатываемая информация хранится в системном журнале и в файлах таблицы БД, то при удалении таблицы выполняется очистка записанной в её файлах информации. Однако эта информация может некоторое время оставаться в системном журнале. Поэтому при размещении всей базы данных на гибком диске после удаления таблицы количество строк TESTING уменьшается, но не становится равным 0. Файлы системного журнала не перераспределяются при удалении таблицы, и в них остается остаточная информация до тех пор, пока она не будет перезаписана новой информацией.

Примечание

При выполнении теста в ОС должны быть загружены драйвера работы с гибким диском (devb-fdc для ОС Unix, floppy – для ОС Linux). Все компьютеры должны быть оборудованы приводом гибкого диска.

При использовании для проверки устройств, отличных от гибкого диска, может потребоваться изменение исходных текстов memtest2 и последующая компиляция тестов.