Управление трассировкой выполняемых запросов (SET TRACE)
Функция
Разрешение/запрет трассировки выполняемых запросов.
Спецификация
::=::=::=::=Синтаксические правила
-
Максимальная длина
<символьного литерала>в опции MESSAGE равна 255 байтов. -
Параметр
<ключ>задает параметр трассировки. Его значения аналогичны значениям ключа/trace, задаваемого при старте ядра СУБД ЛИНТЕР (см. документ «Запуск и останов СУБД ЛИНТЕР в среде ОС Windows», раздел «Ключи протоколирования работы ядра СУБД» или «Запуск и останов СУБД ЛИНТЕР в среде ОС Linux», раздел «Ключи протоколирования работы ядра СУБД»). Значения ключа необходимо указывать без пробелов:/TRACE=DECOMP=FULL; /TRACE=DECOMP=DELAY[=<тики>]
Например,
set trace on ('/trace=decomp=full'); set trace on ('/trace=decomp=delay=50');Примечание
Использование фразы
/TRACEв тексте ключа является обязательным. В противном случае (например, при выполнении командыSET TRACE ON ('DECOMP=FULL');) на консоль ядра СУБД ЛИНТЕР и в файлlinter.outбудет выдано сообщение вида: «INFO: Incorrect argument 'DECOMP=FULL' for TRACE command. Ignored.». -
Если параметр
<ключ>не задан, команда по действию аналогична запуску ядра СУБД с ключом/trace=decompset trace on;
Общие правила
-
Трассировка выполняется в файл
lintrace.log, создаваемый в каталоге БД ЛИНТЕР. Если файлlintrace.logуже существует, трассировочная информация добавляется в конец файла. -
Если опция
FOR CONNECTIONне задана, то устанавливаемый режим трассировки распространяется на все соединения с БД, в противном случае устанавливаемый режим относится только к тому соединению, по которому подана команда. -
Установленный режим начинает действовать с момента выполнения команды и распространяется только на вновь открываемые соединения (для текущих открытых соединений режим трассировки не меняется).
-
Опция
MESSAGEопределяет пользовательский текст (например, имя трассируемого клиентского приложения), который добавляется в трассировочный файл в начало каждого трассировочного сообщения. -
В трассировочный файл
<символьный литерал>опцииMESSAGEзаписывается в кодировке ASCII (для ОС Windows) и KOI8-R (в ОС Linux, ЗОСРВ Нейтрино). -
При повторном выполнении команды
SET TRACE ONбез отключения трассировки с новыми значениями параметров старые параметры трассировки будут заменены новыми, а сам файлlintracel.logпереоткрыт не будет.
set trace on ('/trace=decomp=(full)');
select count(*) from auto where personid <= 21;
Трассировочная информация:
C#3 QUERY:
SELECT
COUNT(*)
FROM
<TABLE "SYSTEM"."AUTO" AS T_0>
WHERE
T_0."PERSONID" <= 21;
C#3 DECOMP.C (Start_Cur_Dec): Now computing derived set #0.
C#3 OBRSTRAT.C (OBRSTRAT): Start set: TABLE("SYSTEM"."AUTO" AS T_0). Set
included 1461 rows.
List of predicates:
Predicate [strategy #2(one index)]:
T_0."PERSONID" <= 21
C#3 PROZA.C (PROZA): Strategy: #2(by indexes).
C#3 ODINKL.C (ODINKL): Snap_Bv: 21 rows.
Predicate [strategy #2(one index)]:
T_0."PERSONID" <= 21
C#3 DECOMP.C (Compute_Group): Get answer from start set. Start set:
TABLE("SYSTEM"."AUTO" AS T_0).
Rows count: 21.
C#3 DECOMP.C (End_Dekart): Derived set #0 is computed, Rows count: 1.
C#3 FORMOTW.C (FORMOTW): Read: 5 blocks, write: 3 blocks.
Additional statistics for read blocks:
converter 1,index 2,data 1,work 0,sorting 0,blob 0,other 0.
C#3 FORMOTW.C (FORMOTW): Read logical: 22 blocks, write logical: 0 blocks.
C#3 FORMOTW.C (FORMOTW): Journal read: 1 blocks, written: 3 blocks.
C#3 FORMOTW.C (FORMOTW): Time of query execution: 00:00:00:00.10