Управление трассировкой выполняемых запросов
Функция
Разрешение/запрет трассировки выполняемых запросов.
Спецификация
::=
::=
::=
::=
Синтаксические правила
-
Максимальная длина
< символьного литерала >
в опции MESSAGE равна 255 байтов. -
Параметр
< ключ >
задает параметр трассировки. Его значения аналогичны значениям ключа/trace
, задаваемого при старте ядра СУБД ЛИНТЕР (см. документ «СУБД ЛИНТЕР. Запуск и останов СУБД ЛИНТЕР в среде ОС Windows», подраздел «Ключи протоколирования работы ядра СУБД»). Значения ключа необходимо указывать без пробелов:/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=decomp
set trace on;
Общие правила
-
Трассировка выполняется в файл
lintrace.log
, создаваемый в каталоге БД ЛИНТЕР. Если файлlintrace.log
уже существует, трассировочная информация добавляется в конец файла. -
Если опция
FOR CONNECTION
не задана, то устанавливаемый режим трассировки распространяется на все соединения с БД, в противном случае устанавливаемый режим относится только к тому соединению, по которому подана команда. -
Установленный режим начинает действовать с момента выполнения команды и распространяется только на вновь открываемые соединения (для текущих открытых соединений режим трассировки не меняется).
-
Опция
MESSAGE
определяет пользовательский текст (например, имя трассируемого клиентского приложения), который добавляется в трассировочный файл в начало каждого трассировочного сообщения. -
В трассировочный файл
< символьный литерал >
опцииMESSAGE
записывается в кодировке ASCII (для ОС типа Windows) и КОИ-8 (в ОС типа UNIX). -
При повторном выполнении команды
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