Я выполняю ниже запросы, но один запрос дает мне результат, а другой дает мне [Ошибка 2646] [SQLState HY000] Больше нет spool space в USER.запрос получает spool в teradata
SELECT DISTINCT PARTITION
FROM DB.TABLE
ORDER BY PARTITION ASC;
Error:-[Error 2646] [SQLState HY000] No more spool space in USER.
Но когда я уверен, выполнение он дает мне результаты: -
select * from (
SELECT DISTINCT PARTITION
FROM DB."TABLE") x
ORDER BY X.PARTITION ASC;
@dnoeth ... Большое спасибо за вашу ценную информацию. Фактически первый запрос был создан TDCH (соединитель Teradata для hadoop), поэтому я выполнил второй запрос, чтобы проверить, работает ли он или нет. Моя таблица огромна, MVC сжимает один с 240 ГБ данными. Я не могу запрашивать статистику, поскольку запрос генерируется и выполняется TDCH внутренне. Однако я понял, что во втором случае будут проверены первые отдельные разделы, а затем упорядочены, чтобы избежать перераспределения данных, правильно? –
@anwaar_hell: Yep, DISTINCT перераспределяет все строки перед устранением дубликатов, в то время как GROUP BY удаляет дубликаты перед перераспределением. – dnoeth