Visualizzazione risultati 1 fino 7 di 7

Discussione: Mysql numero tabelle e numero colonne

  1. #1
    giuseppem70 non è connesso Neofita
    Data registrazione
    06-02-2010
    Messaggi
    3

    Predefinito Mysql numero tabelle e numero colonne

    Salve
    Vorrei sapere se Mysql riesce a gestire 400 tabelle circa da 80 colonne ognuna.
    La maggior parte dei dati sono numeri di una cifra o una sola parola mentre alcuni sono frasi di circa 20 parole.
    Grazie

  2. #2
    Guest

    Predefinito

    teoricamente sì... ma è ipotizzabile una cattiva ottimizzazione del db

  3. #3
    giuseppem70 non è connesso Neofita
    Data registrazione
    06-02-2010
    Messaggi
    3

    Predefinito

    Ti ringrazio per la risposta
    Mi consigli di proseguire nel mio progetto?
    Ultima modifica di giuseppem70 : 27-02-2011 alle ore 01.22.58

  4. #4
    Guest

    Predefinito

    il progetto sarebbe una tabella con 80 campi?...
    bhè... ti consiglio di ottimizzare il db evitando tabelle così "grandi".

    Se poi dall'astratto passi al concreto è + semplice aiutarti

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Sul numero di tabelle non dovrebbero esserci problemi (il mio Joomla, tra componenti base ed estensioni, ha ben 178 tabelle e le gestisce tutte senza alcun problema).

    Mi sembrano decisamente troppi 80 campi per un singolo record: quasi sicuramente c'è qualche dipendenza funzionale tra di essi. Prova a controllare se:

    - ci sono dei campi che si ottengono, per varie formule, da altri campi dello stesso record (esempio: una colonna "guadagno", che si otterrebbe sottraendo la "spesa" dal "ricavo")? Questi campi puoi benissimo eliminarli, se ti servono, puoi sempre generarli al volo attraverso delle query o delle viste

    - ci sono dei campi che si ottengono cumulando valori da record di altre tabelle (ad esempio, il conteggio dei post di un utente sul forum)? Di solito questi vengono mantenuti, perché sarebbe pesante per l'applicativo calcolarli ogni volta incrociando le due tabelle e raggruppando per valori: se però prevedi molti più inserimenti che selezioni, considera la possibilità di eliminare anche questi

    - ci sono dei campi che assumono lo stesso valore in corrispondenza di valori uguali in altri campi su record diversi (ad esempio, un campo "comune" ed uno "provincia")? E' una vera e propria dipendenza funzionale, e si risolve dividendo in due la tabella: trasferisci i campi "dipendenti" ("provincia" in questo esempio) in una seconda tabella, lasciando solo quelli "primitivi" su quella iniziale (il "comune"). Nella seconda tabella, aggiungi come chiave primaria il campo "primitivo" della prima

    - hai tra i tuoi campi molti valori booleani, che possono assumere solo valore 0 o 1? Considera la possibilità di fonderli tutti in uno o più numeri interi, che definirai come "impostazioni": un singolo campo intero può raccoglierti fino a 30 flag diversi. Per popolarli, devi prima definire a quale impostazione corrisponde ciascuna potenza di 2 (esempio: 1 per abilitato, 2 per bannato, 4 per moderatore, 8 per amministratore, ...) e inserire nel campo la somma delle potenze corrispondente alle impostazioni da abilitare (cioè, un moderatore bannato avrebbe valore 6 = 4 + 2). Per estrarre la singola impostazione, devi usare opportunamente gli operatori bit-mask di PHP

    Spero di averti dato qualche dritta su cui lavorare... molto generica, lo so, ma senza più dettagli su ciò che vuoi fare non è possibile fare di meglio.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    io aggiungere un ulteriore consiglio: sfrutta le relazioni fra tabelle.

    Ad esempio io nei miei script per la gestione degli utenti facccio una tabella utenti:
    id-username-pass-email

    Tutte le altre impostazioni le gestisco con tabelle relazionali. Ad esempio
    Newsletter:
    id_newsletter-id_user

    Questo è particolarmente efficiente soprattutto nei casi in cui in relazione a ciascun record vi sono valori di default che sono frequenti e in particolare con i valori boleani.

  7. #7
    giuseppem70 non è connesso Neofita
    Data registrazione
    06-02-2010
    Messaggi
    3

    Predefinito

    Vi ringrazio per le risposte cercherò di mettere in atto i vostri consigli.
    Grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •