Bonjour,

J'ai une table contenant quelques millions de lignes, dont une définition simplifiée est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE TABLE personne_recherche_nom
(
	personne_recherche_nom_id int identity NOT NULL CONSTRAINT PKperson_search_name PRIMARY KEY
	, personne_id int NOT NULL CONSTRAINT FKpersonne_recherche_nom__personne_id FOREIGN KEY (personne_id) REFERENCES dbo.personne
	, premier_nom_type int NOT NULL CONSTRAINT FKperson_search_name__premier_nom_type FOREIGN KEY (premier_nom_type) REFERENCES dbo.nom_type
	, premier_nom nvarchar(64) NOT NULL
	, second_nom_type int NOT NULL CONSTRAINT FKperson_search_name__second_nom_type FOREIGN KEY (second_nom_type) REFERENCES dbo.nom_type
	, second_nom nvarchar(64) NOT NULL
)
Je cherche à optimiser la recherche dans les noms puisque jusqu'à présent celle-ci est effectuée avec des LIKE.
Un requête type est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT	TOP 500 person_id
FROM	dbo.personne_recherche_nom
WHERE	premier_nom LIKE 'toto%'
AND	second_nom LIKE 'titi%'
J'ai fait un peu de lecture sur la recherche en texte intégral, et j'ai compris que je ne peux pas utiliser cette fonctionnalité pour accélérer la recherche.

Est-ce que je me trompe ?
Si non, avez-vous des idées ?

@++