Prestazioni e recupero dei dati

2

Attualmente sto sviluppando un'applicazione mobile in Obiettivo C per dispositivi iOS . Mentre faccio l'applicazione raggiungo il punto in cui devo recuperare i dati da un database e mostrarli su una tabella (il nome di una specifica routine di allenamento e la sua descrizione).

Per come la vedo posso farlo in due modi:

  1. Posso selezionare ogni allenamento dal database e la descrizione associata, creare una collezione di oggetti, inviarlo al controller appropriato e mostrare in una tabella tutti i nomi, quando uno è selezionato posso inviare l'oggetto appropriato a un altro controller (quello della vista successiva) e mostra la descrizione appropriata (in questo modo eseguo solo un'operazione sul database e gestisco molti oggetti).
  2. L'altro modo per farlo è recuperare tutti i nomi degli allenamenti, quando uno è selezionato recupera la descrizione associata dal database e la mostra (in questo modo eseguo due operazioni sul database ma gestisco un sacco di dati e oggetti in meno nell'applicazione).

Quello che mi preoccupa è la performance. È meglio fare più operazioni sul database e gestire meno informazioni e oggetti nell'applicazione o è meglio fare meno operazioni sul database e gestire più informazioni e oggetti? So che ogni applicazione è diversa e una risposta non può essere applicata a tutti, ma come dovrei pensarci quando ne sviluppi uno?

    
posta Hugo Assanti 20.03.2014 - 01:42
fonte

1 risposta

1

Poiché il database si trova sul dispositivo (per commenti), concentrerei le mie preoccupazioni sulle prestazioni sulla gestione della memoria oltre la velocità.

Parlare con un database locale è follemente veloce, a meno che tu non stia facendo qualcosa di veramente inusuale (ad esempio, sequenziamento del DNA, cracking della crittografia, qualsiasi cosa con milioni o miliardi di iterazioni di loop).

Potresti trovare la risposta accettata a Pianificazione dell'efficienza anticipata rispetto all'ottimizzazione prematura utile.

Per farla breve, non ha importanza.

Adotta l'approccio più semplice da mantenere e eseguire il debug.

    
risposta data 20.03.2014 - 15:55
fonte

Leggi altre domande sui tag