English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

Bonjour,
sur mon site j'ai un petit moteur de recherche qui va chercher dans ma base de données.je voudrais savoir comment indexer ma base de données pour que la recherche soit plus rapide.
merci d'avance

2006-11-29 11:43:38 · 3 réponses · demandé par stephane52 1 dans Informatique et internet Programmation

3 réponses

il faut déja qu'elle soit bien conçue : quelle respecte les formes normales, qu'elle contienne les bon triggers. bref, c'est tout un art.

ensuite on n'indexe pas une base de données, on indexe les tables qu'elle contient.

pour le reste, il faut plus d'info : quel moteur ? SqlServer, MySql, PostGres ?
Quelle structure ? combien de tables ? liaisons ?

en clair, une base bien conçue donne toujours une réponse instantannée même si elle contient des millions d'entrées.
la bêtise à ne pas faire, c'est de la laisser faire des FullScan par des critères comme "like '%livre%'" impossibles à optimiser.
par exemple, pour faire des recherches dans des pages de texte, on dresse une table de tous les mots utilisés avec le numero de page où ils apparaissent. les requêtes seront alors plus complexes à écrire mais utiliseront pleinement les index car les recherches porteront sur des égalités.
si on modifie les données, les mots-clés seront automatiquement mis à jour grâce aux triggers...

2006-11-29 15:42:13 · answer #1 · answered by Ramis V 7 · 1 0

tu index ta base de données en ajoutant pour chaque table un champs que tu appellera ID et qui représente un champs a valeur unique ,ta recherche sera donc basé sur ce champs
SQL:SELECT champs FROM matable WHERE ID=10 par exemple ,bon courage

2006-11-30 10:33:51 · answer #2 · answered by HEWLETT PACKARD 4 · 0 0

http://www.commentcamarche.net/faq/?Mot=Indexer+une+base+de+donn%E9es

2006-11-29 12:01:55 · answer #3 · answered by Anonymous · 0 1

fedest.com, questions and answers