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

 

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

Sorted Tables

Îåêßíçóå áðü ôï ìÝëïò alexnir. Τελευταία δημοσίευση από το μέλος cap στις 19-05-2006, 00:58. Υπάρχουν 21 απαντήσεις.
Σελίδα 2 από 2 (22 εγγραφές)   < 1 2
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-03-2006, 09:27 11287 σε απάντηση της 11285

    Απ: Sorted Tables

    Τελικά όμως, γιατί είναι τόσο τρομερό το να βάζεις το ORDER BY που σε κάνει να χρησιμοποιήσεις το view;
    Vir prudens non contra ventum mingit
  •  29-03-2006, 15:55 11318 σε απάντηση της 11264

    Απ: Sorted Tables

    γιατί άλλαξα όλα τα queries σε ενα πρόγραμμα (λόγω αλλαγής ονόματος table) και έιναι ποιο απλό να κάνω find and replace παρά να προσθέσω άλλη μια γραμμή.

    αυτό που ήθελα στην αρχή να μάθω ήταν αν γινόταν να κάνω αλλαγή μόνο στην βάση (από enterprise manager)και όχι στο πρόγραμμα.

    αυτος που το εφτιαξε το θεώρησε λεπτομέρια να sortαρει μάλλον.

    οπότε από τις δυο περιπτωσεις με βόλεψε το view.

    και δυστηχως τα queries που υπάρχουν είναι πάρα πολλά
  •  29-03-2006, 17:30 11328 σε απάντηση της 11318

    Απ: Sorted Tables

    Αυτός ήταν ένας λόγος που είπα για clustered indexes .Μάλλον το περίμανα να γίνει αυτό.Φοβάμαι ότι δέν μπορείς να κάνεις και πολλά πράγματα.

    'Ισως ο καλύτερος τρόπος είναι να Χρησιμοποιήσεις ORDER BY στα QUERIES σου


    Ιωάννης Μανουσάκης
  •  30-03-2006, 00:39 11341 σε απάντηση της 11328

    Απ: Sorted Tables

    Γενικά, δεν μπορείς να βασίστείς στη σειρά με την οποία επιστρέφονται τα δεδομένα από ένα SQL query, εκτός και αν περιέχει ORDER BY. Ο τρόπος με τον οποίο γίνονται τα joins (hash joins, merge joins, nested loops) μπορεί να επιστρέψει τα δεδομένα με οποιαδήποτε σειρά, ακόμα και με την αντίθετη από αυτήν με την οποία βρίσκονται στο σκληρό. Για παράδειγμα, έστω ότι κάνεις join δύο πίνακες Α και Β, και έχεις ορίσει στον Α clustered index για να αναγκάσεις τα αποτελέσματα να επιστρέψουν με συγκεκριμένη σειρά. Ο query optimizer αποφασίζει να χρησιμοποιήσει nested loop, θεωρώντας εξωτερικό τον Β πίνακα, δηλαδή για κάθε γραμμή του Β πίνακα, θα επιστρέψει τις εγγραφές του Α που ήθελες να γυρίσουν με τη σειρά. Το τελικό αποτέλεσμα θα περιέχει τις εγγραφές του Β με τη σειρά αλλά του Α ανάμεικτα.



    Τελικά, η χρήση views είναι η μόνη αξιόπιστη λύση αν δεν μπορείς να αλλάξεις τα αρχικά queries.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  30-03-2006, 00:55 11344 σε απάντηση της 11341

    Απ: Sorted Tables

    Δεν το γνώριζα αυτό, και μου φαίνεται πολύ σωστό. Βεβαια, στην περίπτωσή μας η χρήση indexes αφορούσε ένα μόνο πίνακα και όχι joins μεταξύ δύο ή περισσοτέρων πινάκων. Ομως, είναι ιδιαίτερα χρήσιμη πληροφορία την οποία σημειώνω (για να μπορώ και εγώ να "ψαρώνω" κανέναν που και που :) )


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

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  30-03-2006, 08:49 11350 σε απάντηση της 11264

    Απ: Sorted Tables

    Τα queries που τρεχουν για τον συγκεκριμενο πινακα δεν χρησιμοποιουν join.

    Μεχρις τωρα απαντως που κανω καποιες δοκιμες (και αφου διορθωσα το προγραμμα) η λυση με τα views μου φανηκε παρα πολυ απλη, χρησιμη, σωστη.
  •  19-05-2006, 00:58 12965 σε απάντηση της 11285

    Απ: Sorted Tables

    UPDATE: Αλέξανδρε, τελικά όπως θα δεις και στο post του Kelman, εδώ, ίσως να μην είναι η καλύτερη ιδέα, ειδικά αν θελήσεις αργότερα να αναβαθμίσεις στον SQL 2005.

    Δυστυχώς δεν το γνώριζα αυτό τη στιγμή που σου έγραφα τα παραπάνω. Κρατησε μια σημείωση κάπου απλά για να το έχεις υπόψη σου αν γίνει κάποια στιγμή αναβάθμιση.

     


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

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

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