У меня есть столбец JSONB в Postgres, и мне нужно разбить данные JSONB на отдельные столбцы. У меня настроены все новые столбцы, но теперь у меня есть около 3 миллионов записей, данные JSONB которых нужно разбить на отдельные столбцы.
Какой самый эффективный способ в основном запустить UPDATE на каждая строка?
Прямо сейчас я делаю это в рамках рейк-задачи Rails:
Track.all.find_each do |track|
track.update_attributes(
key: track.audio_features['key'],
mode: track.audio_features['mode'],
tempo: track.audio_features['tempo'],
energy: track.audio_features['energy'],
valence: track.audio_features['valence'],
liveness: track.audio_features['liveness'],
loudness: track.audio_features['loudness'],
speechiness: track.audio_features['speechiness'],
acousticness: track.audio_features['acousticness'],
danceability: track.audio_features['danceability'],
time_signature: track.audio_features['time_signature'],
instrumentalness: track.audio_features['instrumentalness'],
)
end
Это ... потребуется 3 миллиона строк. Есть ли более быстрый способ сделать это?