J'ai l'obligation de produire une liste de doublons possibles avant qu'un utilisateur enregistre une entité dans la base de données et les avertisse des doublons possibles.Vérification efficace des entités dupliquées possibles
Il y a 7 critères sur lesquels nous devrions vérifier les doublons et si au moins 3 correspond, nous devrions signaler cela à l'utilisateur. Les critères vont tous correspondre sur l'ID, donc il n'y a pas de correspondance de chaîne floue nécessaire mais mon problème vient du fait qu'il y a plusieurs façons possibles (99 façons si j'ai fait mes sommes) de faire correspondre au moins 3 éléments la liste des 7 possibles. Je ne veux pas avoir à faire 99 requêtes db séparées pour trouver mes résultats de recherche et je ne veux pas non plus ramener tout le lot de la base de données et du filtre côté client. Nous ne parlons probablement que de quelques dizaines de milliers d'enregistrements à l'heure actuelle, mais cela atteindra des millions à mesure que le système évoluera.
Quelqu'un a-t-il un moyen efficace de le faire? Je considérais une simple requête OU pour obtenir les enregistrements où au moins un champ correspond à la base de données et ensuite effectuer un traitement sur le client pour le filtrer un peu plus, mais quelques champs ont une cardinalité très faible et ne seront pas réellement réduire les chiffres d'une énorme quantité.
Merci Jon
Merci, pense que celui-ci ressemble à la meilleure solution pour mon problème. Nous allons encore devoir faire un groupe sur un ensemble avec beaucoup d'éléments, mais faire un peu de test semble être plus rapide que les autres méthodes que j'ai essayées. – JonC