none
Query Approssimate RRS feed

  • Discussione generale

  • Salve a tutti,

    vorrei sapere se in SQL Server 2008 R2 è possibile eseguire query approssimate ovvero:

    se data una tabella con ad esempio 100 milioni di row e so che che la somma dei campi di una colonna è 37 e la query è durata 5 minuti, è possibile eseguire una query approssimata che come risultato mi dia un numero molto vicino a 37 (tipo 36,7) ma che in compenso impiega  pochi secondi per l'esecuzione??

    Grazie a tutti fin da subito per eventuali risp.

    martedì 29 gennaio 2013 09:56

Tutte le risposte

  • Non credo che esista una cosa del genere.. potresti ovviare eseguendo una media su una percentuale ridotta di risultati, ordinati in maniera casuale in modo da avere uno "spaccato" che probabilmente rappresenta l'intero set, ma è comunqueun dato tendenzialmente inesatto in quanto non prenderebbe in considerazione tutti i valori presenti nella colonna su cui ti interessa fare una media.

    Se hai un campo data e ti interessa una media in relazione al periodo, sfrutta quello per costruire delle statistiche temporali o delle carte di controllo.

    martedì 29 gennaio 2013 10:10
  • Diciamo che puoi fare sampling. TOP X PERCENT in testa alla query può fare al caso tuo.

    Ma sinceramente, io mi porrei il problema del perchè ci mette così tanto e se puoi, come indica anche Luca, ridurre il set (o spezzarlo per i tuoi scopi).

    Quello che voglio dire è che non è corretto che per "farla durare meno" fai un sample. Il sample lo dovresti fare solo se ti serve un campione di dati.

    ciao


    Alessandro Alpi SQL Server MVP

    martedì 29 gennaio 2013 11:45
    Moderatore