opinione se meglio una tabella o due tabelle

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao
in un 3d ho risolto (cercato di) un problema di archiviazione dei vecchi messaggi facendo due tabelle uguali con nomi diversi
tabella "messaggi" e tabella "archivio"
al verificarsi di una condizione il messaggio più vecchio in "messaggi" copiato in "archivio" e eliminato dalla "messaggi"
mi è stato fatto osservare che poteva essere fatta una tabella unica con in più un campo (e. set) con 0 = messaggi nuovi e 1==messaggi archiviati
uppando il record da 0 a 1 al verificarsi della condizione.
secondo me (parere da inesperto) le due cose sino ad un certo punto si equivalgono, ma differiscono quando i record sono molti.
es:
1000 messaggi nuovi
1000 messaggi archivio
nel caso di due tabelle faccio le query su una o sull'altra (in funzione cosa mi serve) operando comunque sempre su una tabella da 1000 record
con il campo set invece devono agire su una tabella di 2000 record quindi più pesante e quindi lenta.
è giusto il mio ragionamento?
inoltre (a parte i backup che spesso ci si dimentica di fare) ammesso che una tabella possa andare in tilt con 1/10E4 di probabilità
nel caso di due tabelle la probabilità che entrambe vadano in tilt e 1/10E8 (comunque probabilmente salvo qualcosa), con una unica rimane 1/10E4 (probabilmente perdo tutto)
 
Da quello che ho studiato si dovrebbe fare mettendo un campo e aggiornandolo.
Ragionando però, sulle tulle che fanno parte dell'archivio non viene eseguita così spesso una query rispetto a quelle eseguite sulle altre che non fanno parte dell'archivio. Quindi in linea teorica si dovrebbe aggiornare, perché essendo stessi dati inutile creare due tabelle se tanto differiscono per un campo soltanto.
Io mi manterrei su quello. Opinione personale e discutibile visti i contro che hai illustrato anche tu.
 

Discussioni simili