При выборке данных удобно использовать механизм кодификаторов, что позволяет сократить количество таблиц, попадающих в соединение.
Кодификатор – упорядоченные пары {ключ:толкование}, статически загруженные в память. Используются для расширенного толкования значений ключа при операциях чтения результатов. Перед использованием кодификатор должен быть загружен в память. Исходными данными для кодификатора служит обычная таблица HyTech. При загрузке указывается номер поля, используемого в качестве ключа кодификатора, и поле таблицы, трактуемое как толкование значения ключа. Поле, используемое как толкование, должно быть символьного типа. Если есть мало изменяющаяся таблица, каждая запись которой содержит пару «ключ-толкование», то такую таблицу можно загрузить в память сервера в качестве кодификатора (SQL-функция coderload). Теперь вместо операции join можно просто «расшифровывать» записи во время чтения.
Пример:
if (table_exists('TMP') > 0) drop table TMP;
create table TMP
(
MSG char(50)
);
declare variable @nCode;
coderunload("PHOUSE");
@nCode = coderload("PHOUSE", 1, 3);
if (@nCode != 0)
{
insert into TMP values (" Произошла ошибка " + @nCode);
fix TMP;
select * from TMP;
quit;
}
fix all;
select
coder("PHOUSE", ID_PH) as PUBLISHER,
NAME as BOOKNAME
from
BOOK;
Результаты выборки данных сиспользованием кодификатора приведены на рисунке 1.

Рисунок 1. Результаты выборки данных с использованием кодификатора
При работе с кодификатором необходимо учитывать, что столбцы таблицы, загружаемой в качестве кодификатора, нумеруются с 1 в том порядке, который был указан при создании таблицы.