Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    MSSQL velocità query .Net vs ASP

    Ciao ragazzi spero possiate darmi una mano.

    Ho sempre lavorato in ASP/MDB per piccoli progetti. Adesso mi trovo a gestire una enorme quantità di dati e mi collego ad un server ms sql 2008.

    Ho notato che la stessa query in asp.net impiega infinitamente meno della stessa query in ASP.
    Può dipendere dal provider utilizzato?

  2. #2
    Ciao,

    il tuo problema è al quanto strano e curioso, visto che alla fin fine tutto passa da ODBC. Forse il .NET usa un provider ad hoc per ADO.NET per evitare di passare da ODBC, cosi da aumentare le prestazioni, ma non ti saprei dire.

    Detto questo, la sezione database non è quella corretta, piuttosto direi che la sezione relativa .NET è molto più adatta
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Ciao,

    Sostanzialmente stiamo parlando di due tecnologie distanti almeno un decennio l'una dall'altra, quindi è perfettamente normale che .net sia prestazionalmente migliore.

    Per rispondere al tuo dubbio, è sicuramente dovuto al framework .net, che incorpora oggetti ottimizzati per sql Server (data.sqlclient.*), oltre ovviamente alle strutture di manipolazione dei dati, che a livello di performance battono qualsiasi createobject di asp.

    Ricorda che è l'ottimizzazione della query che viene fatta prima del passaggio a sql server che ne determina le prestazioni, oltre ovviamente al design della query stessa che devi fare tu

    ciao,
    b.

  4. #4
    non credo che venga applicata alcun tipo di ottimizzazione alla query dal "tramite"; ovvero da ADO.NET, visto che è lui che si occupa del passaggio della query a sql server, altrimenti potrebbe solo fare grandi casini

    ADO.NET non conosce la struttura del database ed analizzare la query, analizzare le tabelle interessate (tabelle del from e join, sub query, virtual tables, eventuali view e via dicendo) e poi riscrivere la query prima di passarla a sql server, oltre che nefasto per le performance, sarebbe anche inutile visto che questo stesso lavoro lo fa sql server, sapendo però su cosa mettere le mani

    Il motivo principale della maggiore velocità, oltre al jit e alla migliore struttura del framework, è sicuramente il fatto che ado.net si interfaccia direttamente con sql server senza passare da ODBC o simili
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Boh ne ho provate diverse. Per me riscrivere tutto in asp.net è un calvario. È solo una pagina in realtà, ma non sono abituato allo sviluppo del .net.
    In ASP aprivo e chiudevo i tag per scrivere codice html tra una condizione e un'altra o dentro i cicli. Credo che in .Net la pratica sia da evitare se non impossibile.

    Per ora ho risolto facendo dei response flush ad ogni ciclo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.