powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 2.5 Как быстро работает уборка мусора?
7 сообщений из 7, страница 1 из 1
2.5 Как быстро работает уборка мусора?
    #38509168
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Особенно никогда не интересовался быстродействием уборки мусора, но недавно столкнулся с ней и удивился:

1. Исходная база свежебекапресторенная - 26 Мб, Forced Writes = ON.
2. Таблица
CREATE TABLE RCPRQLT (
RCP_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
RAW_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
QLT_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
QLT_VAL REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */,
VALUE_NATIVE REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */,
VALUE_PREMIX REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */
);
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT PRIMARY KEY (RCP_ID, RAW_ID, QLT_ID);
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_QLT_ID FOREIGN KEY (QLT_ID) REFERENCES QM_DICT (QLT_ID) ON UPDATE CASCADE;
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_RAW_ID FOREIGN KEY (RAW_ID) REFERENCES RAW_DICT (RAW_ID) ON UPDATE CASCADE;
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_RCP_ID FOREIGN KEY (RCP_ID) REFERENCES DOC_DCT (DOC_ID) ON DELETE CASCADE;

содержит 83 000 записей.
Производим массовое удаление информации.
Запускаем select count(*) from rcprqlt. Получаем выполнение почти 2 минуты.
информация во вложении

С Forced writes = OFF выполняется 1.5 секунды.
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509181
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77,

судя по всему выполняется на домашнем ПК. Конфигурация умалчиваемая стоит, если число буферов всего 75. Составной первичный ключ на три поля зря замутил, да ещё и каскадные обновления с удалениями добавил.
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509185
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77,

на таком объёме чего-то не верится. Можешь свою базульку выложить для тестирования?
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509201
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисbazilio77,

судя по всему выполняется на домашнем ПК. Конфигурация умалчиваемая стоит, если число буферов всего 75. Составной первичный ключ на три поля зря замутил, да ещё и каскадные обновления с удалениями добавил.
Составной первичный ключ и каскадные удаления к делу не относятся. Как вы предлагаете обеспечить уникальность по критерию rcp, raw, qlt без такого ключа? Суррогатным плюс уникальным?

Спасибо за подсказку по поводу буферов. До этого пользовался умолчательным конфигом.
Раскомментировал DefaultDbCachePages = 2048, все стало на места.
Забыл сказать что сервер был embedded.

Но тогда возникает другой вопрос:
почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это должно относиться к классику?

# ----------------------------
# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 75 pages per client connection per database.
#
# Type: integer
#
DefaultDbCachePages = 2048
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509205
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это
должно относиться к классику?
Потому что Embedded и есть Classic.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509210
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovbazilio77почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это
должно относиться к классику?
Потому что Embedded и есть Classic.

Век живи, век учись!
Ранее не пользовался классиком, только суперсервером.
Еще вопрос - какие могут быть еще подводные камни в настройке?
...
Рейтинг: 0 / 0
2.5 Как быстро работает уборка мусора?
    #38509211
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77,

потому как начиная с версии 2.5 embeded работает как superclassic.

http://www.firebirdsql.org/file/documentation/release_notes/html/ru/rlsnotes25.html#rnfb25-threading-superclassic
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 2.5 Как быстро работает уборка мусора?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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