Je souhaite utiliser la fonctionnalité de recherche de texte intégral de Microsoft SQL Server. Si j'ai une table Client qui fait référence à d'autres tables comme City, Country, Department, etc., est-il préférable de créer une table séparée qui contiendrait des données dénormalisées, qui seraient alors indexées en texte intégral, ou est-ce mieux de créer une valeur fictive dans chaque table étrangère (par exemple avec la clé -1), puis de remplacer les valeurs NULL de la table Client par les valeurs fictives correspondantes, puis créer une vue indexée (ces entrées fictives sont en raison de la vue indexée et utilisation de 'jointure interne' au lieu de 'jointure gauche'), puis créer un index de texte intégral sur cette vue d'index?Affichage indexé de SQL Server pour la recherche de texte intégral
Avec ce dernier, je ne serais pas à vous soucier de remplissage de la table « de normalisée » à chaque fois un changement d'enregistrement du client, ou dans l'une des tables étrangères - Ville, Pays, Département, etc.
Ou peut-être rien de tout ce qui précède, je pourrais utiliser aussi de nouvelles idées :)
L'option 1 dans la question de l'OP n'est-elle pas une solution viable si la performance est un problème? Pour référence: http://stackoverflow.com/a/8932733/538962 – mg1075