Использование столбца varchar в качестве раздела в Teradata для ускорения усечения - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть таблица Teradata и два столбца company_name varchar(500) и case_name varchar(500).

Значение двух разделов ограничено сотнями уровней.Но это не контролируется мной.И я не могу заранее определить набор их стоимости.

Это ежедневная операция по усечению всех данных указанных company_name и case_name.Поэтому я хочу использовать эти два столбца в качестве разделов.

Поддерживается ли это для этого?И поможет ли это, если обрезать данные по разделам в TD?Если это не поддерживается.Есть ли лучший способ обрезать данные по двум столбцам varchar?

1 Ответ

0 голосов
/ 07 декабря 2018

Когда доступ к этим столбцам (в основном) основан на where company_name = 'foo' and case_name = 'bar', вы можете применить такой расчет

PRIMARY INDEX ( PIcol)
PARTITION BY
   Range_N(HashBucket(HashRow(company_name,case_name)) MOD 65533 BETWEEN 0 AND 65532 EACH 1)

A delete from where company_name = 'foo' and case_name = 'bar' будет обращаться к одному разделу, но это не удаление FastPath, это будет переходный журнал.

...