defacer Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Αν απο την query περιμένεις να επιστρέψει μόνο ένα row ναι. Γιατί αν δεν βάλεις το LIMIT θα συνεχίσει να ψάχνει και για άλλο row που προφανώς δεν θα υπάρχει. Ξέχασες να αναφέρεις κάτι σημαντικό ή πιστεύεις ότι αν βάλω LIMIT στο query που ψάχνει με βάση π.χ. το PK (γιατί αλλιώς είναι λίγο δύσκολο να περιμένεις από πριν ότι θα επιστρέψει μόνο ένα) θα πηγαίνει πιο γρήγορα; 1
flienky Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Όταν κάνει query ένα primary key ή ένα unique key τότε δεν χρειάζεται.
defacer Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Δηλαδή στο 99% των περιπτώσεων όπου ξέρεις από πριν πόσα rows θα πάρεις. Με αυτό το δεδομένο πιστεύεις ακόμα ότι η μονολεκτική απάντηση στην ερώτηση του zynif είναι "ναι"; More like "σε κάποιες πολύ συγκεκριμένες και σπάνιες περιπτώσεις ναι".
flienky Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 O zynif ρώτησε κάτι, απαντησα και με διόρθωσες, και βγαλαμε το εξης: Ναι η LIMIT 1 θα κάνει την query πιο γρήγορη όταν περιμένεις απο πριν 1 row και όταν δεν ψάχνει πάνω σε primary key ή σε unique key. Τώρα γιατί σκαλίζουμε το πόσο σπάνιο θα είναι ή το ποσο σπάνιο δεν θα είναι ή τι μπορεί να είναι, τι μας ενδιαφέρει? Η απάντηση είναι σωστή? Τερμα. Άντε αν θες και καλύτερα: Ναι η LIMIT 1 θα κάνει την query πιο γρήγορη όταν περιμένεις απο πριν 1 row και όταν δεν ψάχνει πάνω σε primary key ή σε unique key. Όμως είναι σπάνιο να μήν ψάχνεις πάνω σε primary/unique key και να ξέρεις απο πριν οτι θα γυρίσει 1 row. 1
defacer Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Sorry που σε έπρηξα, λάθος μου. Ήθελα βέβαια να βάλω τα πράγματα στη θέση τους γιατί το απλό ναι θα οδηγήσει κάποιον που δεν ξέρει και διαβάζει το thread να κάνει "βλακείες", αλλά δε φταις εσύ για την οξεία m2000ίτιδα που μας έχει πλήξει όλους τώρα τελευταία στο forum. Στο απο πάνω post τα λες τέλεια όσο μου επιτρέπουν οι δικές μου γνώσεις να κρίνω, case closed.
Portmaster Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Ναι η LIMIT 1 θα κάνει την query πιο γρήγορη όταν περιμένεις απο πριν 1 row και όταν δεν ψάχνει πάνω σε primary key ή σε unique key. Όμως είναι σπάνιο να μήν ψάχνεις πάνω σε primary/unique key και να ξέρεις απο πριν οτι θα γυρίσει 1 row. Το να μην εκτελέσεις το query θα κάνει το execution ταχύτερο όταν από πριν δεν περιμένεις κάτι από το rdbms. Όμως είναι σπάνιο να χρησιμοποιείς rdbms και να ξέρεις από πριν ότι δεν θες τίποτα από αυτό. Νομίζω πήγα το optimization σου στο επόμενο level, σβήστε τα queries
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα