powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Когда сбрасывается swept флаг?
9 сообщений из 9, страница 1 из 1
Когда сбрасывается swept флаг?
    #38921523
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос к разработчикам. Наверное к Владу прежде всего.

Есть табличка age со следующей статистикой

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Analyzing database pages ...
AGE (128)
    Primary pointer page: 340, Index root page: 341
    Total formats: 1, used formats: 1
    Average record length: 21.82, total records: 11
    Average version length: 0.00, total versions: 0, max versions: 0
    Average fragment length: 0.00, total fragments: 0, max fragments: 0
    Average unpacked length: 35.00, compression ratio: 1.60
    Pointer pages: 1, data page slots: 1
    Data pages: 1, average fill: 3%
    Primary pages: 1, secondary pages: 0, swept pages: 1
    Empty pages: 0, full pages: 0
    Fill distribution:
         0 - 19% = 1
        20 - 39% = 0
        40 - 59% = 0
        60 - 79% = 0
        80 - 99% = 0

судя по этой статистике есть 1 страница с флагом swept, что говорит что на ней есть мусор (это как я понял). Т.е. SWEEP должен прочесть только эту страницу и не затронуть те где мусора нет.

По какой-то причине что бы я не делал значение swept pages не изменяется.

Ни при сборке мусора с помощью запроса

Код: sql
1.
select count(*) from age



ни при запуске sweep

в логе пишется что sweep прошёл
авторSTATION9 Mon Mar 30 17:53:56 2015
Sweep is started by SYSDBA
Database "horses"
OIT 393, OAT 394, OST 394, Next 395


STATION9 Mon Mar 30 17:54:38 2015
Sweep is finished
Database "horses"
OIT 395, OAT 394, OST 394, Next 396

SWEEP запускал когда подключений к базе больше не было.

Это бага или я неправильно понимаю смысл этого флага?
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921601
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЭто бага или я неправильно понимаю смысл этого флага?
ты его понимаешь с точностью до наоборот. Swept это прошедшее время от sweep. Т.е. эту страницу свипер уже читал, мусор на ней вычистил, новых версий на ней не создавалось, ее можно пропускать при последующих свипах.
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921639
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

хорошо. Тогда почему в статистике до создания версий в статистике было swept pages: 0?
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921646
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати в релиз нотах в главе ODS (On-Disk Structure) Changes ни о secondary pages, ни о swept pages ничего не написано
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921660
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспочему в статистике до создания версий в статистике было swept pages: 0?
любая выделяемая таблице страница имеет swept-флаг сброшенным. Потом ты на нее что-то пишешь, он остается сброшенным. И только после свипа он взведется и статистика покажет swept pages > 0.
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921664
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. Кажется понял, его сам sweep выставляет. Только не понятно если его взводит sweep, то кто его тогда сбрасывает.
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921665
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денискто его тогда сбрасывает
движок, при записи на эту же страницу чего-либо, что может впоследствии стать мусором
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921666
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как проверить? Попытался создать версии

Код: sql
1.
2.
3.
update age
set name=trim(name)
where code_age > 0



в статистике ничего не меняется swept pages: 1 остаётся единичкой. Правда в статистике и новых версий не показывается. Видимо их успевает вычищать фоновый сборщик мусора.
...
Рейтинг: 0 / 0
Когда сбрасывается swept флаг?
    #38921667
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

спасибо. Попробовал на табличке побольше заметил. Сборщик мусора похоже его тоже выставляет.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Когда сбрасывается swept флаг?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]