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

Есть табличка 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
30.03.2015, 19:54
    #38921601
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда сбрасывается swept флаг?
Симонов ДенисЭто бага или я неправильно понимаю смысл этого флага?
ты его понимаешь с точностью до наоборот. Swept это прошедшее время от sweep. Т.е. эту страницу свипер уже читал, мусор на ней вычистил, новых версий на ней не создавалось, ее можно пропускать при последующих свипах.
...
Рейтинг: 0 / 0
30.03.2015, 20:42
    #38921639
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда сбрасывается swept флаг?
dimitr,

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

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



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

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


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