Асинхронное отключение клиентов
В Firebird 2.5 появилась возможность отключать клиентов от сервера.
Для отмены всей активности конкретного клиента можно использовать следующий запрос:
DELETE FROM MON$STATEMENTS
WHERE MON$ATTACHMENT_ID = 32
Следующий код может оказаться полезен если необходимо отключить всех клиентов от базы перед выполнением важного обновления: DELETE FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
Данный механизм работает для файлов баз данных с версией ODS не ниже ODS 11.2.MON$MEMORY_USAGE
Новая виртуальная таблица MON$MEMORY_USAGE позволяет получить информацию об использовании памяти.
Пример: Выбрать 10 запросов отсортированных в порядке используемой ими памяти
SELECT FIRST 10
STMT.MON$ATTACHMENT_ID,
STMT.MON$SQL_TEXT,
MEM.MON$MEMORY_USED
FROM MON$MEMORY_USAGE MEM
NATURAL JOIN MON$STATEMENTS STMT
ORDER BY MEM.MON$MEMORY_USED DESC
MON$CONTEXT_VARIABLES
Таблица MON$CONTEXT_VARIABLES содержит информацию о контекстных переменных.
Пример: Перечислить все контекстные переменные для текущего подключения
SELECT
VAR.MON$VARIABLE_NAME,
VAR.MON$VARIABLE_VALUE
FROM MON$CONTEXT_VARIABLES VAR
WHERE VAR.MON$ATTACHMENT_ID = CURRENT_CONNECTION
1 комментарий:
Почему умер блог?
Тема достаточно интересная и познавательная. Есть много вопросов, особенно для оптимизации настроек сервера Firebird на больших базах данных.
Отправить комментарий