Поиск несоответствий типов данных или переводов в запросах Teradata

#teradata #teradatasql

#teradata #teradatasql

Вопрос:

Я планирую проанализировать запросы, в которых есть несоответствия типов данных или переводы (пример: числовое присоединение к строкам), возникающие во время объединений или фильтров.У нас есть много таблиц, которые пользователи создают для собственного использования, и я хочу их также захватить, и я ожидаю найти их много. Зная, что это может быть не совсем прямолинейно, каким был бы общий подход для сбора этих деталей? Существуют ли какие-либо таблицы DBC, которые предлагают какой-либо способ извлечения этих сведений?

Пример вывода: TableA.StoreNumber (целое число) был присоединен к TableB.Местоположение (Varchar)

Комментарии:

1. Для столбцов в таблицах вы можете запросить DBC. Столбцы V для метаданных. К сожалению, для столбцов в представлениях информация будет нулевой. Вы могли бы использовать SHOW COLUMN databasename.viewname.* для извлечения метаданных просмотра по одному представлению за раз. (При желании это также можно использовать для таблиц.) Вы также можете рассмотреть возможность сбора данных EXPLAIN и поиска сгенерированного приведения к FLOAT или TRANSLATE в Юникод для сравнения.

2. Как только я получу имена столбцов, я смогу выполнить поиск в DBC. ColumnsV, это данность. Это поиск запросов и столбцов внутри них, которые должны были быть ПЕРЕВЕДЕНЫ или ПРИВЕДЕНЫ, что является сложной частью. Я думал о захвате плана объяснения, но мы говорим о выполнении ста тысяч запросов в день, и каждый запрос имеет несколько ПЕРЕВОДОВ. Интересно, захватывает ли Teradata / сохраняет ли эту информацию в более простом формате, который можно легко декодировать.

3. Если включено, QryLogObjectsV хранит информацию о столбцах, используемых для соединений, но не о том, какое именно соединение. QryLogExplainV хранит полный текст объяснения, извлечение столбцов соединения может быть выполнено с помощью регулярного выражения. Самым простым способом будет QryLogXMLV, но обычно он не включен, см. docs.teradata.com/reader/i_VlYHwN0b8knh6AEWrv1Q /…

4. Спасибо @dnoeth. Я рассмотрю возможность включения параметра XML. Я понимаю, что нам понадобится намного больше места в DBC и PDCR для их хранения, поскольку я должен включить их для большого количества пользователей из-за моей области. Не могли бы вы знать, следует ли ожидать какого-либо влияния на производительность (или какого-либо негативного) в результате включения XMLPLAN Capturing.

5. Я не думаю (но не знаю), что это влияет на производительность. Применение сжатия к XML-таблице в PDCR поможет снизить ее размер.