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

    Unica megatabella o meglio separare essenziali da extra?

    Leggendo questo post, anche se datato 2005, mi è venuto il dubbio:
    http://www.giorgiotave.it/forum/27140-post18.html

    Avendo una mega-tabella da 40-50 campi in cui il 90% delle query interessa i primi 5-6 campi, ha senso (per avere le max performance del db) avere tutto su un'unica tabella o meglio creare due tabelle (tabella e tabella_extra) e inserire i dati principali su [tabella] e i dati accessori su [tabella_extra]?

    Nel caso di due tabelle credo che, per avere un'unica maschera di inserimento, l'unico modo è creare un trigger before create su [tabella] per la creazione del relativo record in [tabella_extra] e l'inserimento dei dati.

    In sintesi, per avere le max performances, la doppia tabella è realmente indispensabile o è una sega mentale e tutto si può gestire con un'unica tabella senza complicarsi la vita con più tabelle e trigger vari?

    PS: Resta scontato che le ottime performances del db si riscontrano principalmente dagli indici

    Grazie.

  2. #2
    le tabelle non si dividono per campi piu' o meno cercati nella query, ma per normalizzazione dei dati. Per normalizzazione si intende strutturare i dati in modo da eliminare prima di tutto i dati replicati ed associare correttamente gli attributi dei vari record alle rispettive tabelle referenziate tra loro.

    Quindi le tabelle devono essere strutturate secondo un processo di normalizzazione (I, II, III forma normale) e non secondo l'utilizzo piu' o meno intensivo di determinati campi.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.