Tablo var, iki milyon satırlık veri var. Her satır için, bir body
sütunu vardır, bir JSON biçim verisi depolar.mysql milyonlarca satırlık veri bir tablodan başka bir tabloya içe aktarılıyor
table_a: Ben başka bir tablo var
id user_id body
1 1 {'tel': '13678031283', 'email': '[email protected]', 'name': 'test'....}
2 2 {'tel' : '1567827126', 'age': '16'....}
......
isimli table_b:
table_b:
id user_id tel email name
1 1 13678019 [email protected] test1
2 2 15627378 [email protected] test2
.....
table_a 2000000 satır veri var, istediğim Örneğin tüm table_a verilerini table_b'ye aktarmak için, table_a'nın her satırı işlem olmalıdır.
Böyle başa istiyorum:
for row in table_a_rows:
result = process(row)
insert result to table_b
.....
Ama bu iyi bir fikir olmadığını düşünüyorum. Bunu yapmanın daha iyi bir yolu var mı?
sağlar:
Yani table_b içine doğrudan table_a sahip tüm verileri değiştirmek olabilir: Örneğin, e-posta almak böyle bir şey olurdu Bu tür sinir bozucu json yapılarını "sanal sütunlar" olarak ele almak. Bu şekilde, saklı bir yordamı uygulama gereği olmadan göreviniz için düz bir sql güncelleştirme deyimini kullanabilirsiniz. – arkascha
Tek bir sütun olarak vücudun her tuşlarını istemiyorum, sadece bilgi almak istiyorum. – pangpang
Üzgünüz, son yorumunuzda söylemeye çalıştığınız şeyi anlamıyorum. Değerler ayrı sütunlarda depolanmış gibi JSON yapısının içeriğine erişmeniz gerekir. Uzatma buna izin veriyor. Bu şekilde, bu JSON dizelerinin içeriğini, daha sonra bir güncelleme deyiminde kullanabileceğiniz ayrı değerlere bölebilirsiniz. Sorunu tam olarak anlayamadığım sürece, sorduğun şey buydu. – arkascha