Оптимизатор Teradata предлагает стратегию выполнения для каждого запроса SQL. Эта стратегия выполнения основана на статистике, собранной для таблиц, используемых в запросе SQL. Статистика в таблице собирается с помощью команды COLLECT STATISTICS. Оптимизатору требуется информация об окружающей среде и демографические данные, чтобы разработать оптимальную стратегию выполнения.
Информация об окружающей среде
- Количество узлов, AMP и процессоров
- Количество памяти
Демография данных
- Количество рядов
- Размер строки
- Диапазон значений в таблице
- Количество строк на значение
- Количество нулей
Существует три подхода для сбора статистики на столе.
- Случайная выборка AMP
- Полный сбор статистики
- Использование опции SAMPLE
Сбор статистики
Команда COLLECT STATISTICS используется для сбора статистики по таблице.
Синтаксис
Ниже приведен основной синтаксис для сбора статистики по таблице.
COLLECT [SUMMARY] STATISTICS INDEX (indexname) COLUMN (columnname) ON <tablename>;
пример
В следующем примере выполняется сбор статистики по столбцу EmployeeNo таблицы Employee.
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
Когда вышеуказанный запрос выполняется, он производит следующий вывод.
*** Update completed. 2 rows changed. *** Total elapsed time was 1 second.
Просмотр статистики
Вы можете просмотреть собранную статистику, используя команду HELP STATISTICS.
Синтаксис
Ниже приведен синтаксис для просмотра собранной статистики.
HELP STATISTICS <tablename>;
пример
Ниже приведен пример для просмотра статистики, собранной в таблице Employee.
HELP STATISTICS employee;
Когда вышеуказанный запрос выполняется, он дает следующий результат.