У меня есть оператор SQL, который присоединяется к некоторой внешней таблице в некоторой внутренней таблице и включается "somekey". И «somekey» внешнего и внутреннего таблиц - это в точности один и тот же тип данных - varchar (36). Однако по какой-то причине при анализе плана запроса Redshift хочет сначала преобразовать каждый текст в текст. Я полагаю, это может снизить производительность. 1) Почему это кастинг? 2) Могу ли я сделать так, чтобы его не бросили? 3) Имеет ли это значение (действительно ли это ухудшает производительность)?
Частичный план:
- XN Hash Join DS_DIST_ALL_NONE (стоимость = 64.17..2067242.11 строк = 28074
ширина = 160)
- Hash Cond: (("external" .somekey) :: text =
( "Внутренний" .somekey) :: текст)