powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неиспользуемые домены
25 сообщений из 39, страница 1 из 2
Неиспользуемые домены
    #38542673
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такой запрос:
Код: sql
1.
2.
3.
4.
SELECT *
FROM RDB$FIELDS D
WHERE D.RDB$SYSTEM_FLAG = 0
  AND NOT EXISTS( SELECT * FROM RDB$RELATION_FIELDS WHERE RDB$FIELD_SOURCE = D.RDB$FIELD_NAME )



Возвращает более ста тысяч записей. RDB$FIELD_NAME всегда STARTING WITH "RDB$".
Дело в том, что из-за этих доменов очень долго выполняются операции backup/restore.
У меня вопрос к гуру: правильно ли я понимаю, что эти домены просто не исользуются?
Если да, то можно ли эти домены просто грохнуть? Путем замены в таком запросе "SELECT *" на "DELETE"? Это ничем не грозит?

Да, и еще один полезный вопрос: откуда они могли взяться, эти 100 тыщ неиспользующихся доменов?

ФБ 2.1.1.17910

Код: plaintext
1.
MON$DATABASE_NAME           MON$PAGE_SIZE  MON$ODS_MAJOR  MON$ODS_MINOR  MON$OLDEST_TRANSACTION  MON$OLDEST_ACTIVE  MON$OLDEST_SNAPSHOT  MON$NEXT_TRANSACTION  MON$PAGE_BUFFERS  MON$SQL_DIALECT  MON$SHUTDOWN_MODE  MON$SWEEP_INTERVAL  MON$READ_ONLY  MON$FORCED_WRITES  MON$RESERVE_SPACE  MON$CREATION_DATE    MON$PAGES    MON$STAT_ID  MON$BACKUP_STATE
D:\RELEASE\MPOS3\M_POS.GDB           4096             11              1                   1 747              1 748                1 748                 1 980             2 048                1                  0              20 000              0                  1                  1  29.01.2014 15:52:51  35 158.0000            1                 0  

Спасибо
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542682
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

неправильно. Когда ты создаёшь таблицу, то даже если ты не указываешь домен, он неявно создаётся. Как раз RDB$<некий номер>. Домены мало влияют на скорость бекапа и рестора
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542686
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
указывай везде пользовательские домены, тогда сервер перестанет плодить системные.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542690
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

DELETE в системных таблицах вообще забудь!!!
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542704
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, YuRock!
You wrote on 29 января 2014 г. 19:50:16:

YuRock> Дело в том, что из-за этих доменов очень долго выполняются операции
> backup/restore. зуб дашь?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542780
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисYuRock,

неправильно. Когда ты создаёшь таблицу, то даже если ты не указываешь домен, он неявно создаётся. Как раз RDB$<некий номер>.

Ты думаешь, я этого не знал? Неправильно, знал. Таких доменов в этой базе 1082. И примерно 102000 - доменов, которые не используются в таблицах.

Денис, на будущее, посмотри мой запрос внимательно. Прежде, чем писАть.

Домены мало влияют на скорость бекапа и рестора

Бэкап/ресторе этой базы длится ~30 минут. Из них ~26 минут - уходит на домены.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542783
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИз них ~26 минут - уходит на домены.Чушь какая-то.
Как мерял ?
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542785
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИ примерно 102000 - доменов, которые не используются в таблицах.
но используются в хранимых процедурах?

YuRockБэкап/ресторе этой базы длится ~30 минут. Из них ~26 минут - уходит на домены.
есть подозрение, что без ключика -v время поменяется радикально
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542789
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockБэкап/ресторе этой базы длится ~30 минут. Из них ~26 минут - уходит на домены.
Ну потрать полчаса на эксперимент
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542790
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyуказывай везде пользовательские домены, тогда сервер перестанет плодить системные.
Иван, спасибо за комментарий, только база уже создана, и экземпляров этой базы - несколько сотен.
Это раз.
Два - сервер не плодит системные. Если он автоматически создан сервером - не значит, что он системный.
Три - полей таблиц, где не указан пользовательский домен - 1082. И скажи мне, Иван, какой отношение твой философский пост имеет к более, чем 100000 доменов, вопрос по которым я задаю?
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542792
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Мерял на глаз, врать не буду. Только на бэкап/ресторе доменов реально времени уходит намного больше, чем на всё остальное.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542794
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

на какой эксперимент?
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542798
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТолько на бэкап/ресторе доменов реально времени уходит
или все-таки на вывод 100 тыщ строк в gbak-овский stdout?
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542801
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrно используются в хранимых процедурах?
Нет, забыл сказать, что процедуры используют еще 1720 дометов. Остается еще ~ те же 100 тыщ.

YuRockБэкап/ресторе этой базы длится ~30 минут. Из них ~26 минут - уходит на домены.
есть подозрение, что без ключика -v время поменяется радикально
Возможно, но, во-первых, не хотелось бы - хочется что-то видеть в процессе. Во-вторых - главное не в бэкап/ресторе. Главное, я хочу выкинуль лишние данные из базу. И понять, как они туда попали. И на будущее постараться сделать так, чтобы они туда не попадали.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542803
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockна какой эксперимент?
Backup-restore БЕЗ ключа v, но С ключом m.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542811
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrYuRockТолько на бэкап/ресторе доменов реально времени уходит
или все-таки на вывод 100 тыщ строк в gbak-овский stdout?
dimitr, я думаю, ты прав. Без -V, конечно, работает намного быстрее. Но это не решает проблему этих записей.

Скажи, пожалуйста, этот запрос дает гарантию, что эти записи можно удалить?

Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM RDB$FIELDS D
WHERE D.RDB$SYSTEM_FLAG = 0
  AND NOT EXISTS( SELECT * FROM RDB$RELATION_FIELDS WHERE RDB$FIELD_SOURCE = D.RDB$FIELD_NAME )
  AND NOT EXISTS( SELECT * FROM RDB$PROCEDURE_PARAMETERS WHERE RDB$FIELD_SOURCE = D.RDB$FIELD_NAME )
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542814
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYuRockна какой эксперимент?
Backup-restore БЕЗ ключа v, но С ключом m.
3 секунды.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542819
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockDimitry Sibiryakovпропущено...

Backup-restore БЕЗ ключа v, но С ключом m.
3 секунды. это бэкап. А вот восстановление идет долго. Как закончится - напишу.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542822
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock3 секунды.
А теперь то же самое, но с ключами v И m.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542827
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYuRock3 секунды.
А теперь то же самое, но с ключами v И m.
У меня пока не завершился тест С ключами -C и -M, БЕЗ -V
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542831
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockУ меня пока не завершился тест С ключами -C и -M, БЕЗ -V
Завершился. 17 минут 11 секунд.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542834
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockУ меня пока не завершился тест С ключами -C и -M, БЕЗ -V
Мой ХШ утверждает, что у тебя в базе 100500 развесистых ХП. ССЗБ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542835
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА теперь то же самое, но с ключами v И m.
2 мин 26 сек
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542844
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМой ХШ утверждает, что у тебя в базе 100500 развесистых ХП. ССЗБ.
Это не так. Но мысли о параметрах процедур натолкнули меня на то, что я нашел вот такой скрипт (который выполняется при обновлении БД), который, наверно, и приводит к тому, что у меня плодятся неиспользуемые домены:

DELETE FROM RDB$DEPENDENCIES D
WHERE D.RDB$DEPENDENT_TYPE = 5
AND D.RDB$DEPENDED_ON_TYPE = 5
^

DELETE FROM RDB$PROCEDURES^
DELETE FROM RDB$PROCEDURE_PARAMETERS^

CREATE PROCEDURE ...
-- создание всех процедур
COMMIT^

В будущем я, конечно, уберу этот ужас. Но остается актуальным вопрос:
Если я (единоразово) выполню нижеприведенный запрос, точно ничего не поламается?

Код: sql
1.
2.
3.
4.
5.
DELETE
FROM RDB$FIELDS D
WHERE D.RDB$SYSTEM_FLAG = 0
  AND NOT EXISTS( SELECT * FROM RDB$RELATION_FIELDS WHERE RDB$FIELD_SOURCE = D.RDB$FIELD_NAME )
  AND NOT EXISTS( SELECT * FROM RDB$PROCEDURE_PARAMETERS WHERE RDB$FIELD_SOURCE = D.RDB$FIELD_NAME )



Ответьте, пожалуйста.
...
Рейтинг: 0 / 0
Неиспользуемые домены
    #38542870
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockточно ничего не поламается?
Точно поломается всё. За прямой доступ в системные таблицы надо отрубать руки по самую
задницу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неиспользуемые домены
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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