2016-02-25 5 views
5

Ho uno scenario e due opzioni per raggiungerlo. Quale sarà più efficiente?Modo efficiente di gestire un grande numero di dati in MySQL

Sto usando mySQL per memorizzare la presenza di studenti (circa 100 milioni). E in seguito utilizzare questi dati di presenza per tracciare grafici e risultati in base alla selezione dell'utente.

Approach.1) dati di presenza vendite di studenti per ogni giorno di nuova riga (che aumenterà il numero di righe in modo esponenziale e ridurre il tempo di elaborazione)

Approach.2) Conservare serializzato o JSON formattato riga dei dati di frequenza di un anno di ogni studente in una riga (che aumenterà il tempo di elaborazione quando si aggiorna la presenza ogni giorno e ridurre le dimensioni del database)

+2

100k non è che molto – sagi

+0

100k vs 100 mulino, che è una importante modifica! – Shadow

+0

Mi dispiace ... l'ho perso. –

risposta

8

Innanzitutto penso che si sia confusi, il numero di righe aumenterà lineare non esponenziale che è una grande differenza.

Secondo 100k non è nulla per un database. anche se si archiviano 365 giorni che sono solo 36 milioni, lo sono in una settimana,

Il terzo archivio in un JSON può complicare le query future.

Quindi suggerisco andare con l'approccio 1

Utilizzando Indice corretta, design e un HDD veloce un db in grado di gestire miliardi di record.

Inoltre si può considerare salvare i dati storici in uno schema diverso, quindi i dati attuale è un po 'più veloce, ma che è solo un tuneup minore