2010-06-29 3 views
2

J'essaie d'appliquer une méthode de sauvegarde dans un bean Java de support qui va prendre les lignes de table qui sont sélectionnées et les enregistrer dans la base de données. Cependant, disons que l'utilisateur change un peu ses choix (change 1 de ses 5 choix). Je me demande sur l'algorithme que je vais demander si elle importe de l'efficacité à long terme ou non ....algorithme optimal pour ajouter des lignes de table choisies à la base de données

ici il va:

  1. chaque fois que l'utilisateur clique sur le bouton (enregistrer) Je vais supprimer tous ses choix précédents et insérer tous les choix actuels à la base de données
  2. une fois le bouton est cliqué --- voir les lignes l'utilisateur désélectionné et supprimer leurs lignes de la base de données et ajouter les nouveaux ???

est le choix numéro 2 meilleur ou pas que le choix 1 ....... ou cela n'a pas vraiment d'importance pour le nombre de choix qui ne dépassera pas 15 ??

Merci

Répondre

1

Je certainement aller pour l'option 2, essayez de calculer le nombre minimum d'opérations que vous devez effectuer.

Il est cependant assez normal de revenir à l'option 1 dans les délais, etc., car il est un peu plus facile à implémenter.

Il ne devrait cependant pas être beaucoup plus difficile de comprendre quels sont les changements, car il ne me semble pas que vous changiez les lignes elles-mêmes. Soit vous supprimez ceux qui ont été cochés, soit vous insérez ceux qui ont leur coche.

Enregistrez simplement une liste de valeurs de clé primaire de tout ce qui se trouve dans la base de données, puis comparez-la à cette liste lorsque vous parcourez la nouvelle liste lorsque l'utilisateur souhaite conserver les modifications. Une solution de travail minimale ici signifierait également que vous seriez un peu plus à l'épreuve du futur en termes de refactoring, de modifications ou d'ajouts. Par exemple, que se passe-t-il si des données sont attachées à l'une de ces lignes à l'avenir? Vous devriez garder cela aussi. Généralement, je suis un peu opposé à l'écriture de code juste pour le bien de "et si", mais ici, je pense que c'est plus comme "pourquoi ne pas vous ..." que cela.

Donc, mon conseil est aller pour l'option 2. Pas beaucoup plus de travail.

Questions connexes