Я создаю индекс соединения для сотрудника таблицы,
CREATE JOIN INDEX a.EMP_JI AS
SELECT a.employee_number,
a.department_number ,
a.last_name,
a.manager_employee_number
FROM customerservice.employee a
PRIMARY INDEX ( last_name );
и затем я запрашиваю таблицу customerservice.employee так:
explain sel * from customerservice.employee where last_name = 'Brown';
результат:
Объяснение
- Во-первых, мы блокируем отдельную службу поддержки клиентов. «Псевдотаблица» для чтения в RowHash, чтобы предотвратить глобальную тупиковую ситуацию для customerservice.employee.
- Далее мы блокируем customerservice.employee для чтения
- Мы выполняем шаг восстановления всех AMP из customerservice.employee путем сканирования всех строк с условием ("customerservice.employee.last_name = 'Brown'") в Spool 1 (group_amps), который создается локально на AMP. Размер буфера 1 оценивается без уверенности в 2 ряда (286 байт). Расчетное время для этого шага составляет 0,07 секунды.
- Наконец, мы отправляем шаг END TRANSACTION всем AMP, участвующим в обработке запроса.
-> Содержимое буфера 1 отправляется обратно пользователю в результате оператора 1. Общее расчетное время составляет 0,07 секунды.
Из результатов объяснения, индекс соединения emp_ji не используется, немного запутан,