Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Thu 27 February 2014 10:46
- cec_92
- Participant assidu
- Date d'inscription: 28 Feb 2008
- Messages: 193
Quels champs indexer?
Bonjour,
Je travaille actuellement sur une table Mapinfo qui arrive au cap des 100 000 enregistrements.
Cette table contient une grosse dizaine de champs et je me questionne sur l'intérêt de les indexer.
Quels sont les types de champs qu'il faut absolument indexer? Quels sont ceux qu'il est conseillé d'indexer et ceux qu'il n'est pas nécessaire d'indexer?
J'ai encore du mal à apprécier les bénéfices de l'indexation des champs; peut-être parce que cette indexation est mal faite dans ma table.
Merci d'avance pour votre aide.
Hors ligne
#2 Thu 27 February 2014 12:05
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Quels champs indexer?
Bonjour,
L'indexation d'un champ est automatiquement fait par mapinfo quand ce champ est utilisé pour une jointure.
Si cette jointure n'est que ponctuelle et pas ou peu utilisée, l'indexation peut être supprimée (surtout si vous avez besoin d'espace disque, sinon autant le laisser).
L'indexation permet de retrouver un enregistrement sans avoir à parcourir la base de donnée en entier : donc gain de vitesse pour toute opération sur une base de donnée.
C'est mieux si le champ indexé ne comporte que des valeurs uniques.
Nicolas.
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#3 Thu 27 February 2014 14:42
- cec_92
- Participant assidu
- Date d'inscription: 28 Feb 2008
- Messages: 193
Re: Quels champs indexer?
Merci pour ces infos.
Du coup, il n'est pas très intéressant d'indexer des champs date par exemple? ou des champs où les mêmes valeurs reviennent souvent?
Hors ligne
#4 Thu 27 February 2014 18:03
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Quels champs indexer?
Du coup, il n'est pas très intéressant d'indexer des champs date par exemple? ou des champs où les mêmes valeurs reviennent souvent?
Il y aura un gain, mais il sera minime je pense par rapport à un champ d'identifiants uniques.
Perso, je laisse faire Mapinfo et je n'indexe pas de moi-même certains champs. par contre il m'est arrivé sur de grosses tables (> au million de ligne) de supprimer certains index pour gagner de la place mémoire sur le disque. Mais dans ce cas-là, il devient judicieux de plutot travailler avec de vrais SGBDR.
Nicolas.
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#5 Fri 28 February 2014 09:53
- cec_92
- Participant assidu
- Date d'inscription: 28 Feb 2008
- Messages: 193
Re: Quels champs indexer?
D'accord avec vous, l'index prend beaucoup de place lorsque l'on commence à avoir beaucoup d'enregistrements.
je m'en rend compte d'ailleurs par le temps que prend Mapinfo à faire par exemple une simple MAJ de colonne, avec ou sans index... Le delta de temps de traitement est assez effarant.
Du coup, je vais suivre vos conseils et n'indexer que le champ de jointure, dont les valeurs sont des identifiants uniques.
Hors ligne