Κοίτα, αν το Web Service δούλευε σωστά, θα αποθήκευε στη βάση τις τιμές που δίνεις στο δεύτερο stored procedure. Οπότε ή το δεύτερο stored procedure έχει πρόβλημα ή το web service δεν καλεί το stored procedure, ή δεν περνάει τις σωστές παραμέτρους. Το πρώτο stored procedure θα έπαιζε ρόλο μόνο αν λόγο της καθυστέρησης έκανε timeout η κλήση του και το web service δεν το χειριζόταν σωστά. Ή μπορεί να κάνει το ίδιο το web service timeout περιμένοντας να τελειώσει το πρώτο stored procedure.
Επαναλαμβάνω πάντως ότι 1000000 εγγραφές είναι λίγες. Αν βλέπεις καθυστέρηση είναι είτε επειδή δεν είναι γραμμένο σωστά το query, είτε επειδή δεν έχεις τα σωστά indexes ή και τα δύο.
Δοκίμασες να κάνεις debug το web service? Έχεις βάλει logging να δεις τί καλείται και πότε? Έχεις βάλει exception handling για να χειριστείς τυχόν timeouts ή άλλα λάθη? Τί συμβαίνει όταν εμφανίζεται το πρόβλημα? Μπορείς να μας δείξεις τον κώδικα που καλεί τα δύο stored procedures?
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos