- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Mysql tabella con 6500 colonne
-
Mysql tabella con 6500 colonne
Ho bisogno da voi un consiglio su come gestire questa cosa.
Il mio sito tratta quiz della patente e io devo registrare sul database se l'utente ha mai risposto alla domanda o meno e come (NULL, 0, 1).
Il problema è che ci sono circa 6500 quiz!
Avevo pensato di creare una colonna ID utente e 6500 colonne con i numeri domanda e riempire con
NULL per domanda mai affrontate
0 per domande corrette
1 per domande sbagliate
Secondo voi la query risulta lenta? C'è un modo più elegante e performante per affrontare la cosa?
-
Il limite teorico e generico per le colonne di un DB è 4096, che scende facilmente col verificarsi di determinate condizioni. Quindi NON PUOI avere 6500 colonne.
Ed in ogni caso sarebbe il modo sbagliato di procedere.
Per ogni utente, devi memorizzare un campo di tipo MEDIUMTEXT o LONGTEXT, contenente dati serializzati che puoi facilmente importare in un oggetto, come il formato JSON, oppure il serialized.
-
Ok. Alla fine ho creato il campo longtext e ho archiviato gli id in questa maniera -1-2-3-4-5-6-7-8-9 e li gestisco con explode("-", $query);