Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36

    Idea approssimativa spazio occupato Database

    So che non è affatto facile prevedere quanto spazio occuperanno un certo numero di utenti nel database... ma mi piacerebbe avere anche solo un'idea approssimativa...
    Anche un vostro parere... non per forza dev'essere un calcolo preciso.

    Prendiamo il caso di una tabella con i seguenti campi...

    id - INT autoincrement - primary key
    username(10) varchar INDEX
    password(10) varchar
    ref(10) int
    nome(30) varchar
    cognome(30) varchar
    via(30) varchar
    civico(5) int
    cap(5) int
    città(30) varchar
    punti(10) int

    Secondo voi 100MB di spazio Mysql per quanti utenti più o meno potrebbero bastarmi?
    Approssimativamente
    100mila utenti? Considerando, esagerando, 1KB a riga?
    Di più? Di meno?
    Sparate...

  2. #2
    SHOW TABLE STATUS

    ti da un'indicazione media dei dati caricati

    ma in generale considera che:
    - INT 4 BYTE
    - VARCHAR 1 BYTE x LUNGHEZZA (al massimo)

    Il varchar occupa da 1 a 4 byte se usi UTF8, se usi latin1 ne occupa uno solo. Però in generale non penso ci possiamo ritrovare caratteri multi byte nei vari campi che sono presenti, al massimo nel nome utente ma saranno pochi casi che non variano la statistica

    quindi direi che dovresti considerare un valore medio per i campi testuali, per esempio un valore medio per il nome può essere 7 caratteri ed altrettanto per il cognome, magari li possiamo considerare 9 e 9 per stare tranquilli ed avere un pò di margine.
    Una password più lunga di 8 caratteri non la mette nessuno, tranne che metti qualche vincolo di sicurezza tu, direi che 6 caratteri può andare bene come media, 8 se c'è un vincolo di lunghezza minimo (tipo di 6 caratteri).
    Il nome utenti farei un 10 caratteri.
    La via e la città se non sono obbligatori saranno perennemente vuoti.

    Quindi, indicativamente, direi:
    4 + 10 + 8 + 4 + 9 + 9 + 0 + 4 + 4 + 0 + 4 = 56

    Direi che puoi considerare 60 byte per riga, anche se a questo valore ci vanno aggiunti gli indici. Possiamo comunque dire che siamo abbondantemente sotto i 100 byte
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    qualche vaga considerazione

    1) suggerisco di NON memorizzare le password in chiaro
    2) la dimensione dipende essenzialmente dalla tipologia di engine. myisam o innodb. in questo secondo caso lo spazio del tablespace è notevolmente più grande, e in generale non diminuisce mai (aumenta monotonicamente)
    3) la dimensione degli indici può incidere sensibilmente

    ---
    Come si fa ?
    Semplice, una volta che hai stabilito il tracciato record, stabilito l'engine, fai la cosa più furba in assoluto.

    simuli, e misuri

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.