Vitesse d'exécution d'une requête
Bonjour,
J'ai une table d'article contenant + de 2300000 lignes.
Quand je fais une une simple requête de ce style :
Code:
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:
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 :-)