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

 

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

Ο Cap στο Sql Server Central!

Îåêßíçóå áðü ôï ìÝëïò Παναγιώτης Καναβός. Τελευταία δημοσίευση από το μέλος tommaσ στις 28-09-2007, 21:56. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-09-2007, 14:16 35569

    Ο Cap στο Sql Server Central!

    Το τελευταίο Newsletter του SQL Server Central έχει ως featured άρθρο το "Conditional Statements in Where Clauses" του cap. Περιγράφει τη χρήση του Case σε Where statements για να αποφευχθεί η δημιουργία δυναμικού SQL όταν θέλουμε να έχουμε παραμέτρους αναζήτησεις που θα ορίζει ο χρήστης. Με τον τρόπο αυτό μπορεί κάποιος να έχει ένα Stored procedure το οποίο θα εκτελεί διαφορετικό WHERE ανάλογα με τις παραμέτρους που περνάει ο χρήστης.

    Την τεχνική αυτή χρησιμοποιούσα και εγώ για αρκετά χρόνια, μέχρι που διαπίστωσα ότι ο SQL Server χρησιμοποιεί πάντα το ίδιο execution plan για κάθε stored procedure: Αυτό που δημιουργήθηκε την πρώτη φορά που εκτελέστηκε το stored procedure. Αν μετά το stored procedure εκτελεστεί με διαφορετικές παραμέτρους, θα χρησιμοποιηθεί το ίδιο execution plan άσχετα από το αν είναι κατάλληλο ή όχι. Περιμένετε όμως!

    Το άρθρο είναι σχετικά παλιό, του 2004. Με την αναδημοσίευση του σήμερα, ξεκίνησε ξανά η κουβέντα που είχε σταματήσει πριν από 3 χρόνια, με τις τεχνικές που ξέρουμε σήμερα. Για δείτε το Dynamic Search Conditions του Erland Sommarskog και ειδικά την ενότητα  "x=@x and @x IS NOT NULL".

    Όπως φαίνεται σε αυτή την περίπτωση το statetment εκτελείται με πολύ καλό performance!
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-09-2007, 14:31 35570 σε απάντηση της 35569

    Απ: Ο Cap στο Sql Server Central!

    Ευχαριστώ για την αναφορά Παναγιώτη. Μου φάνηκε περίεργο όταν μου έστειλαν mail και μου είπαν οτι θα το δημοσιεύσουν μετά από 3 χρονια! (Ειχε δημοσιεθεί ως featured article στο www.sswug.org το 2004).

     


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

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  28-09-2007, 14:37 35572 σε απάντηση της 35570

    Απ: Ο Cap στο Sql Server Central!

    Οι εξελίξεις, οι εξελίξεις! Πριν από 3 χρόνια, θα φανταζόσουν ότι αλλάζοντας το IS NULL σε NOT IS NULL θα έπαιζε πάλι το stored procedure? Ή όλες τις άλλες παραλλαγές που αναφέρει ο Sommarskorg?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-09-2007, 20:41 35599 σε απάντηση της 35570

    Απ: Ο Cap στο Sql Server Central!

    cap ένα αυτόγραφο παρακαλώ. Τώρα που έγινες διάσημος θα αποκτήσει συλλεκτική αξία.Big Smile

    Manos
  •  28-09-2007, 21:56 35608 σε απάντηση της 35599

    Απ: Ο Cap στο Sql Server Central!

    Συγκινήθηκα που το είδα! Άντε και εις ανώτερα.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems