Mam tabelę składającą się z kilku milionów rekordów, mającą taką strukturkę:
id | name | something_else
1 aaa bbb c ddd jfkdjf
2 bbb sd qwe fndd
3 jakies slowa jfkdsjf
I chciałem na podstawie tej tabeli, raz dziennie tworzyć kolejną tabelę zawierającą listę pojedyńczych słów z kolumny name, z odnośnikiem do id'ka, czyli np:
f_id | word
1 aaa
1 bbb
1 c
1 ddd
2 bbb
2 sd
2 qwe
3 jakies
3 slowa
Jak to zrobić wydajnie, żeby jak najmniej obciążyć tym bazę?
Myślałem o użyciu transakcji, w której pobierałbym do pamięci po 10 000 rekordów po kolei z pierwszej tabeli do momentu w którym wynik nie będzie pusty. I iterować po tych 10 000 dzieląc za każdym razem nazwę na pojedyńcze słowa. I przy każdej iteracji, znów iterować dla każdego pojedyńczego słowa, robiąc przy okazji inserta na nowej tabeli.
Ale podejrzewam, że takie coś będzie zbyt wolne. Są jakieś lepsze sposoby?