Bonjour,

J'ai une table d'article contenant + de 2300000 lignes.
Quand je fais une une simple requête de ce style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT id AS id_article, titre, ean, auteur
FROM site.article
WHERE (titre LIKE UPPER('%harrington%') OR auteur LIKE UPPER('%harrington%'))
ORDER BY titre ASC;
Le temps de réponse est de 2 à 3 secondes.
J'ai indexé les champs id, ean et titre et je ne sais pas si c'est vraiment utile pour le champ titre.
Voici la structure de la table article :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
          Colonne           |       Type        |                         Modificateurs
----------------------------+-------------------+---------------------------------------------------------------
 id                         | integer           | non NULL Par défaut, nextval('site.article_id_seq'::regclass)
 ean                        | bigint            |
 isbn                       | character(10)     |
 titre                      | character varying | non NULL
 auteur                     | character varying |
Index :
    "article_pkey" PRIMARY KEY, btree (id)
    "article_ean_key" UNIQUE CONSTRAINT, btree (ean)
    "idx_article_id" btree (id)
    "idx_article_ean" btree (ean)
    "idx_article_titre" btree (titre)
Sinon, quel serait le moyen d’accélérer la recherche ? Si cela est possible biensur.

Merci de vos conseils :-)