Bonjour,
J'aimerais avoir votre avis sur la question suivante:
Vaut-il mieux tester l'existence d'un enregistrement dans une table avant de l'insérer pour éviter les doublons ou bien réaliser l'insertion de l'enregistrement et laisser le SGBD ne pas l'insérer si doublon il y a?
Par exemple j'ai une table 'Parametre' avec comme clé primaire le champ 'IDParam' et comme autre champ, un champ 'Valeur'.
Je veux insérer des enregistrements que si ils n'existent pas déjà.
Quel est le mieux:
1) Faire un SELECT puis un INSERT si SELECT ne renvoi rien
2) Faire un INSERT et ne pas traiter ni afficher l'erreur en cas de doublon
Est-ce que les INSERT avec doublons vont écrire dans un log du SGBD qui finira par prendre du volume?
Est-ce que la méthode (2) n'est pas correcte d'un point de vue programmation? Cette méthode permet d'écrire moins de code et de n'exécuter qu'une seule requête au lieu de deux
Est-ce que la méthode (2) augmente le temps de traitement dans le cas ou un doublon existe?
Merci par avance.
Partager