Selam, Elimde 6 - 7 belki daha fazla (EBEVEYN/ÇOCUK) (AĞAÇ) yapısına sahip totalde 10KB civarı bir JSON verisi var. (Bu veri her bir bileşeninde farklı farklı olmak üzere değişiyor) Bu veriyi mySQL ile database de saklamak istiyorum. Veriyi direkt olarak JSON_ENCODE edip bir hücrede tutmak mı daha mantıklı? Yoksa her bir ağaç yapısı için ayrı ayrı TABLO ve SÜTUN oluşturmak mı daha mantıklı?
Satır sayısı katlanarak arttığı için, 5, 10 bin civarı bir satır ediyor neredeyse?
Bu arada data'nın içindeki veriler nümerik. Yani verideki KB miktarındaki artış çok hızlı değil.
JSON verisini mySQL 'da tutmak.
5
●429
- 18-11-2019, 10:04:09Buradaki cümlenize bakılacak olursa dahada katlanacak gibi gözüküyor o yüzden bence ayrı ayrı tablo ve sütun yapmak daha mantıklı. Çünkü JSON çıktısı olarak kaydettiğinizde tekrardan bu veriyi okumaya kalkarsanız o kadar verinin karmaşıklığını yaşabilirsiniz.Alıntı
Düzen ve tekrardan veriyi okuma konusunu göz önünde bulundurursak en mantıklısı ayrı tablo ve sütun yapısı tabi bunun için sağlam bir akış diyagramı çıkarmanızda fayda var çünkü tekrardan döndüğünüzde yaptığınız şeyi unutmamak adına bu durum bence önem arz ediyor. Benim nacizane düşüncem bu şekilde, iyi çalışmalar
- 18-11-2019, 10:04:51Sorun kaydetmek değil, geri okumak.
satırda json olarak tuttunuz diyelim, Json verisinde bulunan baba değeri ahmet olanları getir gibi bir yaklaşımda tüm db'yi çağırıp, üstünde arama yapmanız gerekir.
Her bir değeri tutarsanız satırlarda, dogrudan sql query ile cagırırsınız.
diger bir etkende veri buyuklugunuz. az satırvarsa json saklayabilirsiniz, yavaşlık olmaz. Ama oluru bu olmaz, gün kurtarma olur.
ek bilgi;
Mysql değilde MSSql 2018(olsa gerek)'den sonra kolonlara json desteği geldi. json içine query atılabiliyor. ms tarafına geçmek için bir neden. - 18-11-2019, 10:15:45DPA adlı üyeden alıntı: mesajı görüntüleYorumlar için teşekkür ederim. Tabi ki okuma yönünde sıkıntı olacak (Her seferinde o veri çekilmek zorunda kalacak) her ne kadar çok sık çekmek zorunda kalmasak da yazmak için bile önce çekmek gerekecek ve çok çirkin bir senaryo çıkacakcrooper adlı üyeden alıntı: mesajı görüntüle
Siz deyince iyice soğudum.
peki tablo yapısını oluşturma da nasıl bir yol izleyebilirim? (Çok yeniyim database de)
Ben şöyle bir şey planladım, ID ve parent ile ağaç yapısını en alt bileşene kadar dağıtıyorum ve bu resimdeki tabloda en son sütunda bir de value var o kısım değişiyor işte. Bu şekilde elimdeki her bir ağacın verisini ayrı ayrı tek tek satır olarak eklemiş oluyorum. (Tek tablo ile halletmiş de oluyorum)
"Fakat yanlış mı yapıyorum bilmiyorum, çünkü aslında ağaçlar bir altına indiğinde hep bir birini tekrar eden isimler var." yani sanki daha az satır ile çözülür mü bilemedim.
Ağaç yapısını ve tabloyu eklyeceğim aşağıyta:


- 18-11-2019, 10:21:34Mantık doğru. Basit tablo yapısı ile çalışmış oluyorsunuz. Recursive(geri dönen) bir query yazmanız gerek ki sql sorgularını biraz araştırın. with, recursive, union gibi anahtar kelimeleriniz var.
https://stackoverflow.com/questions/...ecursive-query
http://www.mysqltutorial.org/mysql-recursive-cte/
Siz deyince iyice soğudum.

