it-swarm.it

La query viene eseguita rapidamente ma i rendering dei report sono lenti: come eseguire il debug di questo?

Sto utilizzando SSRS 08. La mia query ha quattro parametri (tutti varchars). Posso eseguire la query attraverso lo studio di gestione e funziona in meno di 10 secondi. Ottengo le stesse prestazioni se eseguo la query in Progettazione query di Visual Studio.

Tuttavia ... se cerco di visualizzare l'anteprima del report o di eseguire effettivamente il rapporto una volta distribuito, il report effettivo richiede talvolta più di 5 minuti. Ho eseguito una traccia e la query sembra essere in/out del lato server SQL rapidamente. Come posso trovare dove/perché sto perdendo questa performance? Ho provato/controllato finora quanto segue:

  • Nessuna immagine è referenziata nel rapporto
  • Nessun raggruppamento/ordinamento al di fuori della stored procedure
  • Poiché si tratta di un report semplice, lo ho ricostruito con lo stesso risultato (per verificare se non si tratta di un problema di un report danneggiato).
  • eseguiva traccia SQL quando eseguivo il report per assicurarmi che la query non avesse problemi

Sulla base di alcuni suggerimenti, ho riscritto la query per utilizzare variabili anziché parametri come tali

    -- ...
    -- Note: @Parameter is a varchar(40) 
    -- ...
    declare @Var as varchar(40) 
    set @[email protected]

    select * from table where [email protected]

Ho eseguito la traccia e non è un problema sul lato query.

16
Ahd

Ho avuto problemi con il rapporto html sul report che recuperava 32000 righe. Nel mio caso ho dovuto attivare "Interactive Paging" per consentire all'utente di vedere la prima pagina e in grado di generare file Excel. Il professionista è che la prima pagina appare veloce e l'utente può generare l'esportazione in Excel o PDF, il contro è che l'utente può scorrere solo la pagina corrente. Se l'utente vuole vedere più contenuti, deve utilizzare i pulsanti di navigazione sopra la griglia. Nel mio caso l'utente ha accettato questo comportamento perché l'esportazione in Excel era più importante.

Per attivare il "Cercapersone interattivo" è necessario fare clic sull'area libera nel riquadro del report e modificare la proprietà "InteractiveSize"\"Altezza" a livello di report nel riquadro Proprietà. Impostare questa proprietà su un valore diverso da 0. Ho impostato su 8,5 pollici nel mio caso. Assicurati inoltre di deselezionare la proprietà "Mantieni insieme su una pagina se possibile" a livello Tablix (fai clic con il pulsante destro del mouse su Tablix, quindi "Proprietà Tablix", quindi "Generale"\"Opzioni interruzione pagina").  Report Properties pane

2
Alexey Sukhanov

Stavo risolvendo un problema simile qualche tempo fa e si è rivelato essere correlato al browser che stavo usando per visualizzare il rapporto. Se il report restituisce molti dati sullo schermo, prendi in considerazione la possibilità di dividerlo in più pagine se non è già configurato in questo modo.

Perché Business Intelligence Studio carica i report più velocemente rispetto al server di report

0
Frank Pearson

Penso di aver trovato la mia risposta su un thread social.msdn.Microsoft.com http://social.msdn.Microsoft.com/Forums/en-US/sqlreportingservices/thread/1e34dc76-4d78 -4376-89b0-7c381ed82726/

Ho deselezionato l'impostazione "Mantieni insieme" e ora sono effettivamente le anteprime provenienti dal server e posso esportare il rapporto. Molto miglioramento

0
Ahd