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

 

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

Just-In-Time Data Loading

Îåêßíçóå áðü ôï ìÝëïò infoCENTER. Τελευταία δημοσίευση από το μέλος infoCENTER στις 06-12-2006, 13:18. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-12-2006, 11:01 21725

    Just-In-Time Data Loading

    Γεια σας.

    Το πρόβλημά μου είναι το εξής. Έχω μία βάση. Σε έναν από τους κεντρικούς πίνακες τις βάσης για κάθε μήνα μόνο θα καταχωρούνται γύρω στις 200.000 με 250.000 εγγραφές. Σημαντικό στο σημείο αυτό είναι το εξής. Ότι στον πίνακα αυτόν ποτέ δεν κάνω μεταβολή. Ακόμα και η διαγραφή γίνεται με ένα σχετικό flag που υπάρχει στο Record. Άρα θα υπάρχει μόνο insert.

    Φτιάχνω τώρα την εφαρμογή μου. Η κύρια φόρμα έχει ένα Grid στο οποίο απεικονίζονται οι εγγραφές από το κεντρικό αυτόν πίνακα. Ο χρήστης στο Grid αυτό μπορεί να κάνει sort  βάση την ημερομηνία εισαγωγής της εγγραφής στον πίνακα, sort με βάση το θέμα στο οποίο αναφέρεται η εγγραφή, sort με βάση τον αποστολέα της εγγραφής αλλά και με βάση των παραλήπτη. Φανταστείτε το κάτι σαν την φόρμα του Outlook όπου βλέπουμε τα emails. Η λειτουργία είναι ακριβώς η ίδια.

    Το να φέρνω όλες τις εγγραφές από την βάση στην εφαρμογή είναι απαράδεκτο όταν μιλάμε για τέτοια νούμερα. Πάμε τώρα να δούμε τις εναλλακτικές. Ψάχνοντας λοιπόν βρήκα το Just-In-Time Data Loading. Διάβασα αλγόριθμους κατάλαβα την λογική αλλά δεν... Κανείς δεν λύνει το θέμα του sort με βάση κάποιο column. Και φυσικά εφόσων δεν δίνεται λύση πως να προχωρήσω και στην παρακάτω ερώτηση...

    Φυσικά έχω κάνει κάποιες αρχικές σκέψεις και έχω καταλήξει κάπου αλλά θα ήθελα να ακούσω και τις γνώμες σας πάνω στο θέμα αυτό...

    Θέμα προς συζήτηση και ανταλλαγή απόψεων... Εσείς τι θα κάνατε για να λύσετε το πρόβλημα του sort αν ήσασταν στην θέση μου;

  •  06-12-2006, 11:11 21727 σε απάντηση της 21725

    Απ: Just-In-Time Data Loading

    Για paging έχει κάτι πολύ όμορφα καλούδιο ο SQL 2005. Ρίξε μια ματιά παρακάτω

    http://www.asp101.com/articles/gal/effectivepaging/default.asp

    Από κει και πέρα για το sorting θα έλεγα να το κρατήσεις και αυτό σε επίπεδο stored procedure


    Simple Photography
  •  06-12-2006, 11:28 21728 σε απάντηση της 21727

    Απ: Just-In-Time Data Loading

    ερώτηση στην ερώτηση?

    είμαι στην 20η σελίδα και ταξινομώ τα data με ένα πεδίο, τι θα δω?

    τα ίδια data ταξινομημένα? ή αυτά που είναι στην 20η σελίδα με βάση τη νέα ταξινόμηση?

  •  06-12-2006, 11:32 21730 σε απάντηση της 21725

    Απ: Just-In-Time Data Loading

    Τόσο το νέο DataGridView όσο και πολλά controls τρίτων υποστηρίζουν τέτοια "lazy-loading" features. Στο DataGridView ονομάζεται VirtualMode. Αν το χρησιμοποιείς, ρίξε μια ματιά εδώ: Walkthrough: Implementing Virtual Mode in the Windows Forms DataGridView Control 
    Vir prudens non contra ventum mingit
  •  06-12-2006, 11:39 21731 σε απάντηση της 21725

    Απ: Just-In-Time Data Loading

    Αν είσαι σε Oracle ή SQL Server 2005, όπου υπάρχει η έννοια του row number, το πρόβλημα λύνεται αποτελεσματικά. Αν είσαι σε άλλα DBMS, τότε το θέμα του paging μπορεί να γίνει δύσκολο. Υπάρχουν λύσεις σαν αυτή του John Papa με προσωρινούς πίνακες και υπάρχουν άλλες που χρησιμοποιούν το TOP αλλά δεν είναι πολύ γρήγορες.
    Αν μπορείς να κινηθείς προς τα DBMS που ανέφερα παραπάνω, κάντο, γιατί θα σε ξεπληρώσει πολλαπλά.

    Νατάσα Μανουσοπούλου
  •  06-12-2006, 13:18 21741 σε απάντηση της 21731

    Απ: Just-In-Time Data Loading

    Μάλιστα, πάμε λοιπόν να δούμε. Ας απαντήσω στην αρχική ερώτηση που έγινε. Αν είμαι στην 20η σελίδα και κάνω sort με βάση κάποιο column τότε το sort δεν θα γίνει μόνο στην σελίδα αυτή αλλά σε όλον τον πίνακα. Εδώ τώρα μπορεί ο χρήστης να έχει επιλέξει μία εγγραφή στο grid. Κάνει sort οπότε λογικό είναι η εγγραφή αυτή μετά το sort να έχει μετακινηθεί σε άλλο page. Οπότε μετά το sort θα ήθελα το grid να εμφανίζει την εγγραφή που επέλεξε ο χρήστης πριν κάνει sort.

    Όπως ανέφερα διάβασα αρκετούς αλγόριθμους, patterns & practises και διάφορα άλλα. Εξωτερικά όλα μπορεί να φαίνονται μία χαρά και να κάνουν κάποια βασικά πράγματα. Αλλά όσο πιο πολύ το ψάχνεις τόσο βλέπεις πως είτε σκόπιμα είτε όχι δεν έχει δωθεί λύση ή δεν προτείνεται κάτι σε βασικά πράγματα, όπως για παράδειγμα το sort με βάση κάποιο column. Και ακόμα δεν έχω κάνει την επόμενη ερώτηση μετά το sort που θέλω να κάνω. Εκεί πιστεύω θα φύγουμε τελείως αλλά στο μυαλό μου το θεωρώ μία λογική ερώτηση...

    Κάνω sort βλέπω τις εγγραφές με βάση τα σορταριμένα pages. Όσο ο χρήστης βλέπει μπαίνει μία νέα εγγραφή στον πίνακα. Πως θα την εμφανίσω αυτήν στο grid;

    Λέτε να ζητάω πολλά; Μπορεί, απλά μία συζήτηση θέλω να κάνουμε μήπως και κάποιος έχει καμία καλή ιδέα. Και μέσα από την συζήτηση κάτι μπορεί να βγει.

    Όπως επίσης ανέφερα κάτι σκέφτηκα αλλά θα ήθελα να ακούσω και άλλες προσεγγίσεις πάνω στο θέμα αυτό...

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