Алгоритм работает с массивом структур. Экземпляр структуры имеет следующий формат:
1. W – множество имен таблиц {Qi} таких, что W=XÈY, если |W| > 1, и W – имя таблицы Qi , если |W| = 1.
2. X – подмножество исходных таблиц {Qi}, которые использованы для получения левого аргумента соединения X
Y.
3. Y – имя таблицы Qi, которая используется в качестве правого аргумента соединения X
Y.
Примечание. Если W содержит имя только одной таблицы, т.е. |W| = 1, то X и Y – пустые поля.
4. Z – текущая стоимость выполнения плана, включающая стоимости выполнения подзапросов и промежуточных соединений, а также стоимость соединения X
Y, если |W| > 1, или стоимость выполнения подзапроса, если |W| = 1.
5. ZIO – составляющая ввода-вывода в Z (CI/O).
6. V – опции:
1) T(W) – прогнозируемое число кортежей (записей) в таблице W (т.е. T(X
Y), если |W| > 1, или T(Qi), если |W| = 1);
2) B(W) – прогнозируемое число блоков в W;
3) {I(W, Ai)}i – мощности атрибутов в W, по которым было выполнено или будет выполняться соединение;
4) к – идентификатор метода выбора записей из исходной таблицы (если |W| = 1) или метода соединения таблиц (если |W| > 1).