Je construis un projet de rails, et j'ai une base de données avec un ensemble de tables .. chacune contenant entre 500k et 1M lignes, et je crée constamment de nouvelles lignes.Optimiser la recherche dans la base de données Rails
De par la nature du projet, avant chaque création, je dois rechercher dans la table des doublons (pour un champ), donc je ne crée pas deux fois la même ligne. Malheureusement, à mesure que ma table grandit, cela prend de plus en plus de temps. Je pensais que je pourrais optimiser la recherche en ajoutant des index aux champs de chaîne spécifiques à travers lesquels je cherche .. mais j'ai entendu dire que l'ajout d'index augmente le temps de création.
Donc, ma question est la suivante: Quel est le compromis avec la recherche et la création de lignes qui contiennent des champs indexés? Je sais que l'ajout d'index aux champs fera que mon programme sera plus rapide avec le Model.find_by_name .. mais combien plus lent va-t-il rendre ma création de ligne?
Merci pour l'aide, mais si j'ajoute un index unique, dans quelle mesure cela ralentira-t-il les insertions? Je suis inquiet que cela ralentisse mon programme assez qu'il aurait mieux valu juste chercher sans index uniques. – BananaNeil
Voir les nouveaux messages! – davidb
Qui a voté contre mon poste (déjà accepté) et n'en a rien dit? – davidb