Newsgroup: it.comp.appl.access
Titolo: E' più veloce una Tabella o una Query??

Io ho questo situazione:
- in una tabella formata da vari campi mi interessano i seguenti campi:
     - importo
     - sconto
- devo calcolare l'importo netto e tramite una query che fa riferimento
alla tabella, in un campo calcolato (netto) ho l'importo netto.
E' ovvio che devo fare dei conteggi come ad esempio il totale degli
importi ed naturalmente il totale degli importi netti; e comunque fare
spesso riferimento al valore netto dalle più svariate applicazioni.
Ecco il mio dubbio è questo:
 è più veloce il modo utilizzato attualmente e cioè fare riferimento
sempre alla query per tutte le mie elaborazioni,
oppure
 nella tabella aggiungere un campo netto e calcolare tale netto al momento
dell'inserimento dei dati e di conseguenza le mie elaborazioni basarle
sulla tabella???
Oppure non cambia niente o la differenza è minima.... e abbiamo perso
tempo io a fare la domanda e voi a rispondermi???
Saluti.
 
 
-- 
Raffaele Alberoni
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

  secondo me la query implica comunque un'elaborazione da compiere ogni
volta, perciò penso che la tabella dia tempi di risposta migliori
penso anche però, che dati i pc attuali, se non hai una tabella enorme la
query possa essere eseguita molto rapidamente.

 Saluti.
In una tabella non esistono campi calcolati e non ha senso in tabella
riportare valori da campi calcolati. I campi calcolati sono utilizzati
nelle query, nelle maschere e nei reports.
PS: non ho più avuto riscontro a quella mia e-mail
--
rgrds
SC 
-- 


 SC 
Spero di non trasgredire le regole del NG se approfitto di questo
argomento per parlarne di un altro.
Anzi, non lo faccio, vado dopo nell'altro tread e ti rispondo; una cosa
però la voglio dire pubblicamente:
Grazie per il tempo dedicato al mio problema.
Veniamo al problema di oggi.
Effettivamente nella tabella non c'è un campo calcolato, ma ci dovrebbe
essere (infatti cercavo consigli sull'opportunità di farlo), un campo che, 
nell'inserimento dei dati, tramite maschera, contenesse già il risultato.
Io volevo avere un parere sull'approccio dei due metodi per quanto
riguarda la velocità di esecuzione, nel caso io prelevassi il risultato da
una query o da una tabella... oppure come mi sono scritto con
autoironia.... la cosa è trascurabile.
Saluti.
-- 
Raffaele Alberoni



Trascurando il discorso affrontato con SV sui campi calcolati trovo
evidente che non utilizzerai mai la Tabella direttamente, ma attraverso
una Form.....!
Ne consegue che, se lavori sui campi Indicizzati in modo corretto
potrebbe essere conveniente la QRY, è dimostrato che l'utilizzo
di QRY(che puntano ad INDICI) in rete piuttosto che Tabelle
il traffico di dati cala sensibilmente........!
Ciao.
@Alex.

 tempo io a fare la domanda e voi a rispondermi???
Ciao, Raffaele.
    La questione che poni non e' di poco conto, anzi! Se ne parla direi
settimanalmente in questo ed in altri ng e la risposta e', mi pare, sempre
quella; in sintesi: no campi calcolati in tabella, per i calcoli usa le
query.
    Io pero' sono di opinione *leggermente* diversa e rispondo: dipende.
    In ambito gestionale (contabile, amministrativo, ...) distinguo due
casi, semplificando:
        1. tabelle di dati storici;
        2. tutte le altre tabelle.
e con "tabelle di dati storici" intendo ovviamente tabelle i cui campi, nel
corso del tempo, non dovranno mai piu' e in nessun caso essere modificati.
Non solo, campi i cui valori, se derivano da calcoli, non devono essere
ricalcolati perche' la loro rilevanza non sta nel calcolo ma nel risultato
di un calcolo gia' fatto, non ripetibile, cioe' in un valore non piu'
modìficabile.
    Un caso diciamo cosi' esemplare: mettiamo che io faccia determinati
calcoli con un algoritmo errato e che un bel giorno me ne accorga e lo
corregga. Se invece di archiviare i valori stampati sui documenti gia'
emessi io semplicemente ricalcolassi ogni volta tali valori non avrei piu'
la corretta corrispondenza fra valori in archivio e valori sui documenti
cartacei. Per ottenerla dovrei appesantire e complicare l'algoritmo con un
test sul prima e dopo correzione. A che scopo?
    In tutti gli altri casi, e sono forse la maggioranza, vale la regola
esposta sopra. Meglio ripeterla, a scanso di equivoci:
        no campi calcolati in tabella,
        per i calcoli usa le query
-- 
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

 Ciao, Raffaele.









Bene i vostri consigli sono stati utili e precisi.
Continuo con il sistema usato fino adesso, approfondendo la gestione degli
indici, come suggerito da Alessandro.
Giusta anche la distinzione con i dati dati storici, conosco bene il
problema, infatti il mio riferimento era per casi dove la variazione del
dato è legato ad altri dati, in parole povere non si trattava di cambiare
solo il calcolo, ma diversi valori che "contribuivano" al risultato.
Grazie a tutti
Saluti
