Επισκέπτης Δημοσ. 21 Απριλίου 2021 Δημοσ. 21 Απριλίου 2021 Σε κάθε άρθρο πρέπει να ξέρω ποιος έκανε subscribe ή απάντησε. Με την MySql αν βάζω ξεχωριστά κάθε δραστηριότητα το Ι/Ο θα χτυπήσει κόκκινο. Αλλά αν για κάθε χρήστη έχω ένα row με ένα text field που θα έχει json array θα ελαφρύνει πολύ και το Ι/Ο και το θέμα της χωρητικότητας. Το μόνο αρνητικό είναι ο χρόνος που θα κάνει να το κάνει load και για insert delete μιας και πρέπει να το select - decode πρώτα και μετά να το encode και update. Ή είναι καλύτερο ένα τεράστιο table με κάθε entry ως row;
archer100 Δημοσ. 21 Απριλίου 2021 Δημοσ. 21 Απριλίου 2021 1 ώρα πριν, gekatsou είπε Σε κάθε άρθρο πρέπει να ξέρω ποιος έκανε subscribe ή απάντησε. Με την MySql αν βάζω ξεχωριστά κάθε δραστηριότητα το Ι/Ο θα χτυπήσει κόκκινο. Αλλά αν για κάθε χρήστη έχω ένα row με ένα text field που θα έχει json array θα ελαφρύνει πολύ και το Ι/Ο και το θέμα της χωρητικότητας. Το μόνο αρνητικό είναι ο χρόνος που θα κάνει να το κάνει load και για insert delete μιας και πρέπει να το select - decode πρώτα και μετά να το encode και update. Ή είναι καλύτερο ένα τεράστιο table με κάθε entry ως row; Μια χαρα ειναι και to table Ζητημα να εχεις καποιες δεκαδες χιλιαδες συνολικα ποστ (τα μεγαλυτερα ελληνικα φορουμ εχουν καποιες εκατονταδες χιλιαδες) που ειναι αστειος ογκος για την MySQL
albNik Δημοσ. 21 Απριλίου 2021 Δημοσ. 21 Απριλίου 2021 (επεξεργασμένο) Αναφορά σε κείμενο Αλλά αν για κάθε χρήστη έχω ένα row με ένα text field που θα έχει json array θα ελαφρύνει πολύ και το Ι/Ο και το θέμα της χωρητικότητας. Δεν ειναι καλο να εχεις embedded json array μεσα σε ενα field. Θα εχεις θεμα με edit/update καθε φορα. Ασε που μπορεί να μεγαλώνει και να γινει αργο. Θα εχεις ενα αλλο table με info απο τη δραστηριοτητα + customerId + articleId. To join info-customer-article δεν νομιζω να ειναι αργο. Δεν θα εχεις θεμα ουτε με ταχυτητα εισαγωγης στο info. Επεξ/σία 21 Απριλίου 2021 από albNik 1
PC_MAGAS Δημοσ. 22 Απριλίου 2021 Δημοσ. 22 Απριλίου 2021 Κοίτα IMHO ποιο περίπκολο IO έχεις σε Json γιατί: Εάν η MYSQL επιτρέπει JSON τότε έχεις περίπλοκο SQL query. Εάν δεν έχεις περίπλοκο SQL Query θα πρέπει να λαμβάνεις ΟΛΟ το JSON να το αννανεώνεις και να το αποθηκεύεις. Εάν το δούμε από επεκτασιμότητα το να έχεις πίνακα βολεύει διότι μπορείς να εξάγεις εύκολα στατιστικά (πόσοι χρήστες ανά άρθρο κάνουν comments) Τέλος, εάν δεν θες να έχεις υποδομή για comments (πχ. λιγότερο storage στη βάση ή δεν θες να κάνεις maintain κώδικα) δοκίμασε τα 3rd party comment hosting: https://www.remarkbox.com/finally-a-disqus-alternative.html https://www.commento.io/ https://disqus.com/ Όπως και άλλες https://talk.hyvor.com/blog/disqus-alternatives/
Επισκέπτης Δημοσ. 23 Απριλίου 2021 Δημοσ. 23 Απριλίου 2021 Ευχαριστώ για τις απαντήσεις. Το χρησιμοποιώ το embed JSON σε MySql table ήδη για κάποια fields που δεν είναι κανονισμένα, και δεν μπορώ να ξέρω ποια θα χρησιμοποιήσει ο χρήστης, σε ένα "pivot" table. Βολεύει πολύ, μπορώ να κάνω SELECT το path (JSON) με το '%/"".$value."\"%' και να βρω οτιδήποτε θέλω. Σε αυτή τη περίπτωση ξέρω ότι οι μεταβλητές μπορεί να είναι μέχρι 10 μέσα στο JSON. Με τις ειδοποιήσεις και τις συνδρομές σκέφτηκα να κάνω το ίδιο λόγο resources αλλά άλλαξα γνώμη με τις προτάσεις σας. Τώρα ψάχνω ένα τρόπο έτσι ώστε να το αδειάζω κάπως και να μην είναι μόνιμα οι ειδοποιήσεις μέσα στο τραπέζι. Ευχαριστώ και πάλι.
PC_MAGAS Δημοσ. 23 Απριλίου 2021 Δημοσ. 23 Απριλίου 2021 5 ώρες πριν, gekatsou είπε Ευχαριστώ για τις απαντήσεις. Το χρησιμοποιώ το embed JSON σε MySql table ήδη για κάποια fields που δεν είναι κανονισμένα, και δεν μπορώ να ξέρω ποια θα χρησιμοποιήσει ο χρήστης, σε ένα "pivot" table. Βολεύει πολύ, μπορώ να κάνω SELECT το path (JSON) με το '%/"".$value."\"%' και να βρω οτιδήποτε θέλω. Σε αυτή τη περίπτωση ξέρω ότι οι μεταβλητές μπορεί να είναι μέχρι 10 μέσα στο JSON. Με τις ειδοποιήσεις και τις συνδρομές σκέφτηκα να κάνω το ίδιο λόγο resources αλλά άλλαξα γνώμη με τις προτάσεις σας. Τώρα ψάχνω ένα τρόπο έτσι ώστε να το αδειάζω κάπως και να μην είναι μόνιμα οι ειδοποιήσεις μέσα στο τραπέζι. Ευχαριστώ και πάλι. Εάν θες ειδοποιήσεις μπορείς να τις αδειάζεις με ένα cron. Τέλος, υπάρχει και αυτό που ίσως να βολεύει για notifications: https://pusher.com/
denz Δημοσ. 28 Απριλίου 2021 Δημοσ. 28 Απριλίου 2021 Ρίξε μια ματιά στην function GROUP_CONCAT. Ίσως βοηθήσει κάπως σε αυτό που θέλεις να κάνεις.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα