ALLisCHAOS Δημοσ. 1 Νοεμβρίου 2015 Δημοσ. 1 Νοεμβρίου 2015 Καλησπέρα σας, επέστρεψα με νέα αποροία. Έστω ότι έχεις ένα site το οποίο έχει αρκετή κίνηση και η λειτουργία του site έχει να κάνει με διάφορες αναζητήσεις. Και ρωτάω εγώ τώρα, χρειάζονται κάποια ιδιαίτερη μεταχήρειση τα queries(λόγο πολλών χρηστών)?
antonisid Δημοσ. 1 Νοεμβρίου 2015 Δημοσ. 1 Νοεμβρίου 2015 Ασφαλώς και χρειάζεται. Όσο λιγότερα queries τόσο το καλύτερο καταρχάς. Θα πρέπει να μπορείς να φέρεις όσο πιο πολλά αποτελέσματα χρειάζεσαι με ένα query, κι εφόσον είναι προβλέψιμο τι θα χρειαστεί ο χρήστης, η διαχείριση των δεδομένων θα γίνεται με php. Επίσης το ίδιο το query παίζει ρόλο. πχ αν περιέχει sub-queries ή IN statements καταναλώνει περισσότερους πόρους. Θα σου αναφέρω ένα παράδειγμα που βλέπω στην πράξη, όσον αφορά τη διαφορά στην απόδοση ενός site βασισμένο σε Laravel κι ενός σε Wordpress (ντρέπομαι και μόνο που κάνω αυτή τη σύγκριση ). Εφαρμογές μεγάλες με Laravel είναι πολύ γρηγορότερες από μικρές wordpress εφαρμογές. Ένας απ τους λόγους? Με Laravel χρησιμοποιώ ORM model* για ανάκτηση δεδομένων από την βάση ενώ με wordpress για το παραμικρό χρειάζεται ένα νέο query, * Ένα από τα πλεονεκτήματα του ORM είναι ότι σώζεις στην βάση objects, που σημαίνει ότι στην ανάκτηση μιας εγγραφής το object περιέχει εκτός από τα δεδομένα που ζητάς και τα relations με του άλλους πίνακες. Με λίγα λόγια πιο απλά & και λίγα queries προς τη βάση δεδομένων (αυτό που ανέφερα πριν). Τώρα αν η επισκεψιμότητα είναι μεγάλη επιβάλλεται caching στα queries σε όποια μέρη του site οι ενέργειες του χρήστη είναι πάνω κάτω προβλέψιμες. Προσωπικά χρησιμοποιώ MemCache. (http://www.php.net/memcached) Αυτά από μένα.
anvasila Δημοσ. 1 Νοεμβρίου 2015 Δημοσ. 1 Νοεμβρίου 2015 Καλό θα ήτανε να χρησιμοποιήσεις κάποιο είδος cache για την βάση σου. Επίσης είναι προτιμότερο να κάνεις λιγότερες κλήσεις στη βάση με μεγαλύτερες πολυπλοκότητες παρά το αντίθετο. Οπότε σαν καλή τακτική είναι κλήσεις με Join κτλ ώστε να παίρνεις τα δεδομένα που θέλεις από όποιους πίνακες θέλεις με όσον το δυνατόν λιγότερες κλήσεις στη βάση.Χρησιμοποιείς κάποιο συγκεκριμένο CMS ή framework για το site σου? τα περισσότερα έχουν κάποιες αξιόλογες έτοιμες λύσεις.Παρόλα αυτά, λόγο του ότι η cache κάνει τρελή δουλειά, αλλά δε κάνει και θαύματα, εαν το site σου έχει πράγματι τόσο κίνηση, ίσως να έπρεπε να αρχίσεις να σκέφτεσαι για κάποιο semi-deticated server, ώστε να έχεις και περισσότερη υπολογιστική ισχύ στο site σου.
ALLisCHAOS Δημοσ. 1 Νοεμβρίου 2015 Μέλος Δημοσ. 1 Νοεμβρίου 2015 Ευχαριστώ για τα infos, να πω ότι τα queries είναι σχετικά απλά και όχι δυστηχώς δεν είναι σε κάποιο framework είναι καθαρή php(όσο καθαρ'η μπορεί να είναι), θα κοιτάξω τη cache για αρχή (στο μέλλον θέλω να το κάνω μια μετατροπή σε laravel)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα