Sto costruendo un'app mobile Io uso PHP & MySQL per scrivere un backend - API REST.Come memorizzare 60 booleani in un database MySQL?
Se devo memorizzare circa 50-60 valori booleani in una tabella denominata "Report" (gli utenti devono controllare le cose in un modulo) nella mia app mobile, memorizzo i valori (0/1) in un array semplice. Nel mio MySql Table dovrei creare una colonna diversa per ogni valore booleano o è sufficiente se uso semplicemente una stringa o un Int per memorizzarlo come un "numero" come "110101110110111 ..."?
Ottengo e inserisco i dati con JSON.
UPDATE 1: Tutto quello che devo fare è controllare se tutto è 1, se uno di questi è 0 allora questo è un "problema". In 2 anni questa tabella avrà circa 15.000-20.000 file, deve essere molto veloce e il più salvaspazio possibile.
AGGIORNAMENTO 2: In termini di velocità, quale soluzione è più veloce? Creare colonne separate e memorizzarle in un tipo stringa/binario. Cosa succede se devo verificare quali sono gli 0? È un'ottima soluzione se lo memorizzo come "numero" in una colonna e se non è "111..111", quindi inviarlo all'app mobile come JSON dove analizzo il valore e lo analizzo sul dispositivo dell'utente? Diciamo che devo occuparmi di 50K righe.
Grazie in anticipo.
Se è necessario eseguire una ricerca (utilizzando elementi come 'WHERE bool_a AND NOT bool_b') sui valori di questi flag, questo ti spinge a memorizzarli nelle proprie colonne. Ma non ci hai detto come la tua applicazione ha bisogno di usare questi dati. –
Hai ragione. Tutto quello che devo fare è controllare se tutto è 1, se uno di questi è 0, allora è un "problema". In 2 anni questa tabella avrà circa 15.000-20.000 file, deve essere molto veloce e il più salvaspazio possibile. – nethuszar
Puoi andare con le bandiere, se sei sicuro al cento per cento non devi aggiungere cose nel mezzo. Puoi usare il tipo BINARY per quello. – MartijnK