Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2005, 11h09   #1
Nouveau Membre du Club
 
Avatar de Batou
 
Inscription : mars 2004
Messages : 71
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 71
Points : 32
Points : 32
Par défaut Comment indexer du texte ?

bonjour,

Je commence a gerer une base MySQL.
Pour recuperer les enregistrements, j'ai fait une page cgi sous perl, pas de pb, ca fonctionne.
Cependant, avec de grosses charges, j'ai peur que faire une recherche avec des
Code :
SELECT * FROM tab WHERE $parameter LIKE "%$$has_skeys{$parameter}%"
prenne finalement bcp de temps et de ressources.

On m'a parle d'index les champs en Full text...
J'ai fait qqs recherche et je cherche encore... Qqn connait le principe et pourrais me l'expliquer ?
Merci d'avance !
Batou

pour info : $$has_skeys{$parameter} est du perl, pas de pb a ce niveau la !



EDIT:
J'ai essaye de multiples fois d'ajouter un index, mais a chaque fois, l'erreur generee:
Code :
BLOB/TEXT COLUMN 'column_name' used IN KEY specification without a KEY length
CA VEUT DIRE QUOI ?!
Batou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2005, 12h14   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu as déjà lu la page suivante ?
http://dev.mysql.com/doc/mysql/fr/fulltext-search.html
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2005, 12h20   #3
Nouveau Membre du Club
 
Avatar de Batou
 
Inscription : mars 2004
Messages : 71
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 71
Points : 32
Points : 32
Par défaut ok !

bonjour mathieu,
merci pour ta reponse, je te reponds demain (il est 19h20 ici), y a pas de pb !
Batou
Batou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2005, 08h58   #4
Nouveau Membre du Club
 
Avatar de Batou
 
Inscription : mars 2004
Messages : 71
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 71
Points : 32
Points : 32
Par défaut derniere question

bonjour,

J'ai regarde la doc, merci ca repond a ma question.
J'en ai une autre avant de clore le thread.

Pour faire des recherches sur ma base MySQL, mes utilisateurs vont entrer des criteres selon leur bon vouloir. Par consequent, ils peuvent chercher selon 1, 2 ou 3 (voire plus) criteres.

Faut il creer un full text pour toutes les combinaisons ?
(par ex :
champ 1 avec champ 2,
champ 1 avec champ 3,
champ 2 avec champ 3, etc)

Ou faut il seulement creer un full text unique pour chaque champ puis lors de du traitement des requettes, prendre seulement les champs traites.
(il y aura un classement des resultats sans pb ?)


merci d'av'
batou
Batou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2005, 03h38   #5
Nouveau Membre du Club
 
Avatar de Batou
 
Inscription : mars 2004
Messages : 71
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 71
Points : 32
Points : 32
ok, thread final pour clore le sujet.

Pour repondre a ma derniere question, un seul index sur chaque champ suffit, pas besoin de faire des croisements.

De plus, la fonction pour chercher sur la base a deja ete mise dans ce forum, ex :
http://www.developpez.net/forums/viewtopic.php?t=223444&highlight=match

Seule chose que je peux apporter est de bien faire attention aux guillemets ! En effet, j'ai remplace la recherche par une variable de type "string" et ca marchait pas. En mettant les guillemets, mm si c'est deja de type "string", ca marche.
Batou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h20.


 
 
 
 
Partenaires

Hébergement Web