2013-08-16 4 views
1

Je souhaite créer une activité dans laquelle vous pouvez créer des dossiers et dans ces dossiers certaines images qui leur sont associées. La façon dont je le fais maintenant est d'avoir une base de données avec tous les noms de dossier et les informations liées à une vue de la liste. Ensuite, j'ai une base de données SQLite avec toutes les informations sur les images qui sont filtrées en fonction de l'élément de la liste qui est cliqué. Mon dilemme est de créer une nouvelle table dans la base de données chaque fois qu'un nouveau dossier est créé ou juste d'avoir une grande base de données avec toutes les images et juste filtrer les images dont j'ai besoin. Donc, ma question se résume à quelle méthode à long terme (avec beaucoup d'images et de dossiers) nécessiterait le moins de temps de traitement. Est-ce que les requêtes SQL prennent vraiment beaucoup de temps, même pour les grandes bases de données? Je suis inquiet si la grande base de données d'images devient trop grande, l'utilisateur devra attendre sur la requête pour voir les images associées à ce dossier. Si je crée une table pour chaque dossier créé, les données seront accessibles et rapides. Cependant, il semblerait plus difficile à maintenir et créer des tableaux pourrait prendre beaucoup de temps.SQLite: création de plusieurs tables ou filtrage d'une base de données pour les grands ensembles de données

Répondre

3

Utilisez une grande table au lieu de créer de nouvelles tables.

Vous ne voulez jamais créer continuellement de nouvelles tables pour chaque nouveau morceau de données (dans ce cas, les dossiers). Cela causerait de sérieux problèmes de performance et entraînerait une conception inflexible de la base de données.

Les bases de données sont plus rapides que prévu. Votre base de données ne sera probablement pas très volumineuse (car elle est stockée sur un téléphone), vous n'aurez donc aucune difficulté à effectuer de simples requêtes dans un court laps de temps.

Questions connexes