Qual è la scelta giusta di Data Access Layer per applicazioni di grandi dimensioni

1

Sto usando il pattern Singleton per la mia applicazione, ho usato il framework Entity ADO.NET come il mio Data Access Layer, dopo il login alla mia applicazione, ci vogliono dai 3 ai 5 minuti per caricare il dashboard.

C'è un modo per ridurre il tempo? O devo cercare altri metodi invece di Entity framework?

    
posta Mohammed Bilal 19.12.2013 - 10:47
fonte

2 risposte

3

Entity Framework ha un tempo di riscaldamento ma è un paio di secondi. 3-5 minuti suggerisce qualcosa di gravemente sbagliato nelle tue query.

Dovresti usare qualcosa come Linqpad per vedere quale SQL il tuo LINQ alle Entità sta generando e lavorare per ottimizzarlo. Supponendo, naturalmente, che tu abbia risolto i problemi e capito che il DAL è la tua area problematica.

Se sei soddisfatto delle query, un'altra area da esaminare se i dati cambiano molto sono i tuoi indici. Controlla che le statistiche SQL siano aggiornate e che i campi utilizzati per il filtraggio siano indicizzati.

    
risposta data 19.12.2013 - 11:12
fonte
2

Sentitevi liberi di downvotare dal momento che gli ORM sembrano popolari in questi giorni, ma ...

PERCHÉ stai usando Entity Framework? C'è una possibilità che il database di backend possa cambiare? Sei preoccupato di scrivere le stored procedure SQL per consegnare i tuoi dati?

O forse sembra che scrivere molte trasformazioni dalle righe di DbDataReader ai tuoi oggetti potrebbe essere molto impegnativo?

Te lo chiedo perché ho avuto la sfortuna di lavorare su un paio di progetti in cui lo sviluppatore ha scelto Entity Framework e, in particolare, è stato ordinato dalla direzione di estrapolarlo e passare a processori SQL stored decenti (che possono essere ottimizzato e ha un piano di esecuzione) e Datareader PURAMENTE a causa delle prestazioni memorabili che hai anche sperimentato.

Quando un dashboard richiede (secondo SQL Profiler) oltre 48.500 chiamate al database per tornare prima che si carichi, c'è un problema. Non ho mai visto questo discorso, quindi spero che un'anima gentile mi illuminerà.

    
risposta data 27.12.2013 - 20:41
fonte

Leggi altre domande sui tag