Bonjour,

Avec firebird 2.5 j'ai une table contenant un champ Texte sur lequel je souhaite faire des recherches.
Pour simplifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE STREETS
	(
		ID    INTEGER                        NOT NULL,
		NAME  VARCHAR(70) CHARACTER SET UTF8 NOT NULL COLLATE UNICODE_CI_AI,
		CONSTRAINT PK_ID PRIMARY KEY (ID)
	);
 
CREATE INDEX STREET_NAME ON STREETS (NAME);
Je souhaiterais pouvoir faire une requête comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT  * FROM STREETS WHERE NAME LIKE '%quai%';
Malheureusement, (et logiquement) l'index n'est pas utilisé si le wildcard % est utilisé en début de chaîne (dans l'analyseur de plan, j'ai "PLAN (STREETS NATURAL)" et pas "PLAN (STREETS INDEX (STREET_NAME))".

Existerait-il une solution pour accélérer les recherches de type '%abc%' (ici, ils disent qu'il n'y a que des index b-tree dans Firebird) ?

Merci...