Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Like Sql Προβλημα

Îåêßíçóå áðü ôï ìÝëïò maria_papan. Τελευταία δημοσίευση από το μέλος cap στις 18-03-2009, 16:32. Υπάρχουν 20 απαντήσεις.
Σελίδα 2 από 2 (21 εγγραφές)   < 1 2
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-03-2009, 14:50 49357 σε απάντηση της 49348

    Απ: Like Sql Προβλημα

    Johnnyxp64:
    Σωστο ειναι οτι μου λυνει το προβλημα χωρις να μου γεννα άλλα σε ευλογο χρονικο διαστημα.

    Η μετατροπή σε varchar δημιουργεί άμεσα σοβαρότατο πρόβλημα καθώς αχρηστεύει οποιοδήποτε index υπάρχει στο date πεδίο. Αυτό κατ' επέκταση οδηγεί σε άλλα προβλήματα και όχι μόνο performance. Ο SQL Server θα αναγκαστεί να κάνει scan ολόκληρο τον πίνακα, να κλειδώσει ΟΛΕΣ τις εγγραφές όσο το κάνει αυτό, και να μπλοκάρει οποιοδήποτε άλλο query χρησιμοποιεί αυτό τον πίνακα. Το πρόβλημα θα γίνει ακόμα χειρότερο αν το query που περιλαμβάνει το conversion είναι περίπλοκο και αγγίζει πολλούς πίνακες, καθώς σε αυτή την περίπτωση θα κλειδωθούν πολύ περισσότεροι πίνακες.
    Αν αυτό δεν είναι σοβαρό πρόβλημα .....

    Όσον αφορά το παράδειγμα με τις 250.000 εγγραφές δεν ευσταθεί για πολλούς λόγους. Καταρχήν, η ταχύτητα ενός query όταν εκτελείται μόνο του, χωρίς κανένα άλλο transaction να δημιουργεί πιθανά locks είναι άνευ σημασίας. Η πραγματική επίδραση του φαίνεται όταν εκτελούνται ταυτόχρονα άλλα transactions, καθώς τότε θα φανεί αν καθυστερεί λόγω blocking και αν προκαλεί blocking σε άλλους.

    Επιπλέον, η ταχύτητα με την οποία επιστρέφονται 1500 εγγραφές από τις 250000 πάλι δεν έχει σχέση. Ο SQL Server εκτελεί με διαφορετικό τρόπο τα queries όταν περιμένει ότι θα επιστρέψει πολλές και με διαφορετικό τρόπο όταν περιμένει ότι θα επιστρέψει λίγες εγγραφές. Αυτό το κάνει κοιτώντας τα στατιστικά των πεδίων και των πινάκων.

    Σε τέτοιες περιπτώσεις, μπορεί να φανεί ότι το "κάτω από ένα δευτερόλεπτο" γίνεται, χωρίς υπερβολή, ώρες. Έχω αντιμετωπίσει δεκάδες περιπτώσεις εφαρμογών οι οποίες καθυστερούν για ώρες επειδή κάποιος προγραμματιστής κάρφωσε ένα conversion, δεν έβαλε index, ή χρησιμοποίησε κάποια άλλη "λύση που του έλυσε το πρόβλημα". Μπορεί ο προγραμματιστής αυτός να τέλειωσε στα γρήγορα, αλλά οι επιπτώσεις της "λύσης" του εξακολουθούσαν να προκαλούν προβλήματα (και σημαντικό κόστος στην εταιρεία και τους πελάτες) για πολύ καιρό μετά την αποχώρηση του προγραμματιστή από την εταιρεία.

    Και όλα αυτά, επειδή κάποιος χρησιμοποιεί μία λύση της στιγμής, η οποία μάλιστα είναι και ελαφρώς πιο περίπλοκη από τη σωστή λύση ?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  18-03-2009, 15:30 49359 σε απάντηση της 49357

    Απ: Like Sql Προβλημα

    οχι ως δικαιολογια, αλλα αυτο που εγραψα το λεω το πιστευω και θα το πιστευω και ειναι ΓΕΝΙΚΟ και ΟΧΙ για το θεμα Ημε/νια στο συγκεκριμενο παραδειγμα δεν χρειαζεται καν να συμφωνησω μαζι σας (το ειχα ειδη γραψει απο το 1 post μου οτι δεν μου καθεται καλα!) 

    Ετσι για να κλεισει αυτο το θεμα, μονο για το συγκεκριμενο λοιπον συμφωνω στο "σωστο" και "οχι τοσο σωστο" που λετε, ισως απλα η κοπελα για καποιο λογο το ηθελε, ετσι γιαυτο και πολοι απο εμας ψαχναμε τροπους να την βοηθησουμε ως προς την κατευθηνση που αυτη ηθελε! 

    και αδιαφορω πληρως αν θα ανοιξει flame η οχι, δεν ειναι μονο δικη μου αποψη αλλα ξερω συμφωνουν και αλλοι οτι κανεις δεν πρεπει να ειναι απολυτος και να "πιεζει" καποιον "νεο" να ακολουθησει αυτο που εκεινος θεωρει το "σωστο" και ετσι να ειναι δεν πρεπει να κριτηκαρει και να προσπαθει να μηδενισει τα λεγομενα αλλον συναδελφων. εδω δεν ειναι διαγωνισμος ποιος θα δωσει την καλητερη λυση πρωτος η δευτερος η τριτος! ξεκοληστε μερικοι. Stick out tongue

    ειναι απλα να καταλαβουμε (αν μπορουμε) τι ζητα εναν συνανθρωπος μας και να προσπαθησουμε να τον βοηθησουμε να φθασει στην λυση! 

    ΦΥΣΙΚΑ και υπαρχουν πολλες φορες πολλοι δρομοι για μια λυση ενος προβληματος,
    καπιες αργες και σωστες καπιες γρηγορες και προχειρες κτλ κτλ κτλ κτλ. 
    Ας ακουστουν ολες με σεβασμο και ας αποφασισει εκεινος που εχει το προβλημα τι θα διαλεξει.

    θεμα τελος.- α ρε Μαρια τι φωτιες μας αναψες!?Big Smile

    p.s και τα παραδηγματα με τα ρευματα(αν και δεν...) ας τα αφησουμε, ο σωστος μαστορας πρωτα τα ενωνει γυμνα και δοκιμαζει και αν δει οτι εχει ρευμα τοτε τα περνα και μονοτικη και ολα τα καλουδια, αμα τα ενωνε εβαζε και τενια και μπριζα στον τοιχο και εβλεπε μετα οτι ρευμα τελικα δεν περνά, τοτε θα επρεπε να τα γκρεμισει ολα απο το 0 και θα εκνευριζονταν περισσοτερο. Κανεις δεν ειπε να μεινει με τα γυμνα καλωδια για παντα προς θεου.
    πρωτα κανουμε πειραματα και μετα "θαυματα".


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  18-03-2009, 15:47 49361 σε απάντηση της 49359

    Απ: Like Sql Προβλημα

    Ωραία, εφόσον δεν είναι δικαιολογία να σου πω τότε ότι ήσουν, είσαι και θα είσαι λάθος εάν εξακολουθείς να το πιστεύεις αυτό. Όσο πιο γρήγορα συνειδητοποιήσεις ότι αυτό το οποίο κάνεις είναι λάθος, τόσο πιο γρήγορα θα γλυτώσεις το "μετά". Το , "το κάνω τώρα έτσι και το διορθώνω μετά" είναι επίσης λάθος και σαν σκέψη και η πίεση χρόνου δεν αποτελεί δικαιολογία ούτε πρόφαση να το κάνεις λάθος.

    Πίστεψέ μας δεν μας κάνεις χάρη με το να το δεχτείς. Χάρη στον εαυτό σου κάνεις εάν πραγματικά το καταλάβεις και το εφαρμόζεις.

    Δεν μηδενίζουμε τίποτα, απλά διορθώνουμε κάτι το οποίο είναι λάθος. Εάν κάτι είναι λάθος, πρέπει να μαθαίνεις το σωστό και να προσαρμόζεσαι σ'αυτό, αλλοιώς θα είσαι πάντα ένα βήμα πίσω απο τους άλλους. Δεν χρειάζεται να ξεκολήσουμε απο τίποτα, γιατί απλά δεν ήμαστε κολλημένοι όπως επίσης κανείς δεν έκανε κριτική στα λεγόμενα αλλουνού. Εάν αυτά δεν είναι σωστά, τα διορθώνεις για να μάθει το σωστό. Δεν πρόκειται ούτε περι διαγωνισμού ούτε τίποτα.

     

    PS. Προσπάθησε να μην παίρνεις μετρητοίς τι γράφω και να προσπαθείς να αποδείξεις λάθος και το παράδειγμα. Τα γράφουμε για να κάνουμε απλά πιο "λιανά" τι εννοούμε και για να δείξουμε την κρισημότητα των λεγόμενων μας.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  18-03-2009, 16:03 49363 σε απάντηση της 49361

    Απ: Like Sql Προβλημα

    καλα οτι πεις....

    κοιτα να διαβασεις ΣΩΣΤΑ και να ερμηνευσεις ΣΩΣΤΑ το προιγουμενο μου Post και μετα κανε μια αυτοκιρτικη και διορθωσε τα γραπτα σου. μονο αυτο σου λεω φιλε Παναγιωτη!

    p.s αμα επαιρνα τις "μετρητοις" τι γραφεις θα ειχες προβλημα, δεν προσπαθησα ουτε 1 φορα να σε βγαλω λαθος σε αυτα που λες πουθενα! απλα εκανα 1φορα οτι κανεις συννεχεια, εκανα το παραδειγμα σου να ειναι το "λιγοτερο σωστο" ;-) Ενοχληθηκες βλεπω!Good! ειδες πως νιωθουν οι αλλoi τωρα. τα γραπτα εδω ειναι και το επιβεβαιωνουν! δεν ειμαι εγω ο απολυτος σε αντιθεση με αυτα που γραφεις και εκφραζεσαι εσυ για συναδελφους αλλους! Οτι λες ειναι σεβαστο απλα σου ξαναματαλεω οτι μην αναιρεις τους αλλους! δεν ειναι ολα στη ζωη μαυρο και ασπρο! υπαρχει και γκρι thats all.

    ps2. τελευταια φορα πεφτω στο επιπεδο να απαντω σε ανουσιες "διαμαχες". Δεν μου αρεσει.


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  18-03-2009, 16:20 49365 σε απάντηση της 49363

    Απ: Like Sql Προβλημα

    Χάνουμε μήπως την μπάλα με αυτό το thread? Η απάντηση δόθηκε. Η "κοινώς αποδεκτή" λύση είναι πιο γρήγορη, δεν πετάει τα indices και είναι και πιο απλή. Ο Παναγιώτης (Καναβός) εξήγησε αναλυτικότατα γιατί το varchar είναι λάθος. Αυτό που έχει σημασία είναι αν η Μαρία που έθεσε και την ερώτηση έχει περαιτέρω απορίες (αν όχι, σημείωσε ως λύση την απάντηση που σε βοήθησε) για να τις απαντήσουμε.

    Όσο για το quote σου φίλε Johnny, εγώ θα συμφωνήσω πάνω κάτω. Αν κάτι εισάγει προβλήματα δεν είναι "σωστό", και οι μετατροπές αυτού του είδους (datetime σε nvarchar κλπ) προσφέρουν μόνο εγγυημένα και άμεσα προβλήματα.
    Δε νομίζω ότι ο Παναγιώτης (ο Κεφαλίδης αυτήν τη φορά) έχει κάτι προσωπικό μαζί σου, ούτε θέλει να επιτεθεί στο πρόσωπό σου, και το να ανάγουμε τις διαφωνίες σε προσωπικό επίπεδο δεν βοηθάει.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  18-03-2009, 16:32 49366 σε απάντηση της 49365

    Απ: Like Sql Προβλημα

    Πιστεύω οτι ό,τι ήταν να απαντηθεί απαντήθηκε. Το θέμα πλέον εξελίσσεται σε αντιπαράθεση και δεν προσφέρει καμία ενδιαφέρουσα πληροφορία σε σχέση με το αρχικό ερώτημα. Θεωρώ οτι το καλύτερο θα ήταν να κλειδωθεί, και αυτό κάνω.

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
Σελίδα 2 από 2 (21 εγγραφές)   < 1 2
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems