У меня есть очень большой массив, который я вычислил с Apache Madlib, и я хотел бы применить операцию к каждому отдельному массиву в этом 2d массиве.Как быстро отключить массив 2d в массиве 1d в PostgreSQL?
Я нашел код, который может помочь мне отключить его от this related answer. Тем не менее, этот код очень медленный на этом действительно большом массиве 2d (массивы с плавающей запятой 150 000 + 1d). В то время как unnest()
занимает всего несколько секунд, даже после ожидания нескольких минут код не завершился.
Несомненно, должен быть более быстрый способ отключить большой массив 2d на меньшие массивы 1d? Бонусная точка, если это решение использует Apache Madlib. Я нашел один вывод утопает в документации под названием deconstruct_2d_array
, однако, когда я пытаюсь вызвать эту функцию на матрице, она не со следующей ошибкой:
ERROR: Function "deconstruct_2d_array(double precision[])": Invalid type conversion. Internal composite type has more elements than backend composite type.
Спасибо, @Erwin, очень полезно! Он просто должен быть отмечен как STRICT. – IamIC
@IamIC: Спасибо, я добавил это. –