ho spesso visto questi tre difetti di progettazione dello schema causando problemi:
- A varchar (n) campo è stato creato con n solo abbastanza grande per il campione di dati che il progettista aveva tirato in, non il popolazione globale: bene nei test unitari, troncamenti silenziosi nel mondo reale.
- Un varchar (n) utilizzato dove i dati sono dimensioni fisse. Questo maschera i bug dei dati.
- Un carattere (n) utilizzato per dati di lunghezza variabile. Ciò fornisce miglioramenti delle prestazioni (consentendo ai dati di sedersi in fila nella riga sul disco, ma tutto il codice client (e vari proc/viste memorizzati ecc.) Devono affrontare i problemi di spaziatura degli spazi bianchi (e spesso non lo fanno). padding spazio bianco può essere difficile da rintracciare, perché gli spazi non si presentano troppo bene, e varie biblioteche/client SQL sopprimerli.
non ho mai visto un ben intenzionate (vale a dire non solo con varchar (255 per tutti i cols), ma una selezione prudente delle dimensioni dei dati sbagliate causa un significativo problema di prestazioni: per un fattore significativo, intendo il fattore 10. Vedo regolarmente difetti di progettazione algoritmica (mancano indici, invio di troppi dati sul filo ecc. più grandi successi delle prestazioni
Qual è il tuo targe t piattaforma? Quanti dischi hai intenzione di memorizzare? Informazioni come questa incluse nella domanda possono aiutare a guidare una risposta appropriata. –
Non ho un bisogno specifico (ancora, potrebbe avere presto) voglio solo imparare –