Teradata - настройка производительности
В этой главе обсуждается процедура настройки производительности в Teradata.
Объясните
Первым шагом в настройке производительности является использование EXPLAIN в вашем запросе. План EXPLAIN дает подробную информацию о том, как оптимизатор выполнит ваш запрос. В плане объяснения проверьте ключевые слова, такие как уровень достоверности, используемая стратегия соединения, размер файла буферизации, распространение и т. Д.
Собирать статистику
Оптимизатор использует демографические данные для разработки эффективной стратегии выполнения. Команда COLLECT STATISTICS используется для сбора демографических данных таблицы. Убедитесь, что статистика, собранная по столбцам, актуальна.
Соберите статистику по столбцам, которые используются в предложении WHERE, и по столбцам, используемым в условии соединения.
Соберите статистику по столбцам Уникальный первичный индекс.
Сбор статистики по столбцам неуникального вторичного индекса. Оптимизатор решит, может ли он использовать NUSI или полное сканирование таблицы.
Собирайте статистику по индексу соединения, хотя статистика собирается по базовой таблице.
Соберите статистику по столбцам разделения.
Типы данных
Убедитесь, что используются правильные типы данных. Это позволит избежать использования избыточного хранилища, чем требуется.
Преобразование
Убедитесь, что типы данных столбцов, используемых в условии соединения, совместимы, чтобы избежать явного преобразования данных.
Сортировать
Удалите ненужные предложения ORDER BY, если не требуется.
Проблема с пространством катушки
Ошибка пространства буфера генерируется, если запрос превышает ограничение на пространство буфера AMP для этого пользователя. Проверьте план объяснения и определите шаг, который занимает больше места в буфере. Эти промежуточные запросы можно разделить и поставить отдельно для построения временных таблиц.
Первичный индекс
Убедитесь, что первичный индекс правильно определен для таблицы. Столбец первичного индекса должен равномерно распределять данные и должен часто использоваться для доступа к данным.
НАБОР Таблица
Если вы определяете таблицу SET, тогда оптимизатор проверяет, дублируется ли запись для каждой вставленной записи. Чтобы удалить повторяющееся условие проверки, вы можете определить Уникальный вторичный индекс для таблицы.
ОБНОВЛЕНИЕ на большом столе
Обновление большой таблицы займет много времени. Вместо обновления таблицы вы можете удалить записи и вставить записи с измененными строками.
Удаление временных таблиц
Отбросьте временные таблицы (промежуточные таблицы) и volatiles, если они больше не нужны. Это освободит постоянное пространство и место для катушки.
Стол MULTISET
Если вы уверены, что во входных записях не будет повторяющихся записей, вы можете определить целевую таблицу как таблицу MULTISET, чтобы избежать проверки повторяющихся строк, используемой таблицей SET.