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 27/11/2007, 14h09   #1
Futur Membre du Club
 
Inscription : mars 2007
Messages : 85
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 85
Points : 19
Points : 19
Par défaut Indexation partielle à droite

Bonjour,

J'ai vu que l'on pouvait faire des indexations sur une chaine mais ceci seulement en partant de la gauche de la chaine à indexer :

Par exemple indexer 0000012345 pour les 5 premiers caractères ne prendra que "00000". Or je voudrais pouvoir indexer que les 5 derniers car mes enregistrements commencent pratiquement tous par "00000".

Est ce que quelqu'un aurait une idée sur la façon de procéder à une indexation "à droite" ?

Merci d'avance !
globule71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 15h39   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
- indexer une longueur fixe suffisamment grande pour contenir tes chaines futures

- créer une fonction d'inversion de chaine (0000012345 => 5432100000) et stocker la chaine inversée dans une colonne supplémentaire. indexer cette colonne

- utiliser une indexation FULLTEXT mais ce n'est pas forcément pertinent pour des chiffres...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 20h09   #3
Futur Membre du Club
 
Inscription : mars 2007
Messages : 85
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 85
Points : 19
Points : 19
Merci pour la réponse,

Concernant la création de fonction, je suppose que ça reste dans le cadre de la base de données... Il faudrait donc que je créé un Trigger qui remplisse cette colonne lors d'un insert. Je vais creuser cette question.

Sinon après quelques recherches supplémentaires, je me suis dis que les indexes étaient compressés, donc je ne sais pas si je vais réellement gagner en occupation mémoire.
globule71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 23h54   #4
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Hors débat métaphysique sur le coût de l'indexation de toute la chaîne :

- faire deux champs au lieu d'un.
Sivrît 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 05h24.


 
 
 
 
Partenaires

Hébergement Web