25 messaggi dal 06 settembre 2002
Ciao a tutti,

avrei bisogno di un consiglio su come strutturare un database. Lavoro con asp e database Access.

Il problema è il seguente: devo ristrutturare/velocizzare un sito che si basa su un unico db contenente una serie di listini (tabelle) di diversi produttori, una dozzina per l'esattezza. Le query di ricerca/selezione da applicare sono di vario genere ma tutte prevedono alla fine una serie di union che legano i risultati in un unico grande recordset finale da visualizzare.

Per fare un esempio:

prendi tutti i prodotti "cacciaviti" presenti nella tabella A

UNION

prendi tutti i prodotti "cacciaviti" presenti nella tabella B

UNION

ecc...

ORDER BY TIPO,PREZZO

Le tabelle sono ovviamente uniformi e le singole query possono essere piuttosto complesse.

La mia domanda è la seguente:

In termini di velocità/prestazioni è meglio avere tante tabelle separate ed effettuare di volta in volta query specifiche su ciascuna, legandole poi con le union per avere il recordset finale (come fa il sistema ora), oppure è meglio avere un unico enorme tabellone totale creato in precedenza, su cui effettuare le query (+ snelle)?
Si tratterebbe di parecchi record, potrebbero arrivare a 20.000, per cui mi viene il dubbio che una tabella così grande potrebbe essere molto lenta.

che mi dite?

grazie!
secondo me stai procedendo bene. Di solito preferisco evitare tabelle troppo grandi.

Alberto Biancardo
25 messaggi dal 06 settembre 2002
Ciao

grazie per la risposta. La cosa che mi rende dubbioso è che non c'è un vero motivo per cui le tabelle sono separate. Solo comodità perché i produttori forniscono i loro listini e quindi li converte singolarmente. Ma poi le ricerche sono sempre su tutto il magazzino. Per cui una tabella totale sarebbe molto comoda.

Altre opinioni?

ciao e grazie!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.