[Résolu] Utilisation des index
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
- Alain Melon
- NOOuvel adepte
- Messages : 21
- Inscription : 13 nov. 2017 19:33
- Localisation : Liège
[Résolu] Utilisation des index
Bonjour,
Outre la clé primaire, j'ai paramétré 4 index supplémentaires lors de la création de ma table principale.
Ma question est toute simple : comment faire pour les activer ?
Merci de votre aide.
Outre la clé primaire, j'ai paramétré 4 index supplémentaires lors de la création de ma table principale.
Ma question est toute simple : comment faire pour les activer ?
Merci de votre aide.
Dernière modification par Oukcha le 15 nov. 2017 14:30, modifié 1 fois.
Raison : Balisage
Raison : Balisage
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Re: Utilisation des index
Bonsoir et bienvenue sur le Forum
A+
Et comment fait on pour comprendre la structure de ta base sans fichier exemple ?Alain Melon a écrit : j'ai paramétré 4 index supplémentaires lors de la création de ma table principale.
Ma question est toute simple : comment faire pour les activer ?
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
- Alain Melon
- NOOuvel adepte
- Messages : 21
- Inscription : 13 nov. 2017 19:33
- Localisation : Liège
Re: Utilisation des index
Voici la structure de la table et la structure des index
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
- Dude
- IdOOle de la suite
- Messages : 25143
- Inscription : 03 mars 2006 08:45
- Localisation : 127.0.0.1
- Contact :
Re: Utilisation des index
Salut,
S'il n'y a qu'une seule table, je ne vois pas l'intérêt d'un index.
Tu ne gagneras rien en performance sauf si tu dépasses le millier de données,
Ce qui n'arrivera pas puisque San Antonio ne regroupe qu'un peu moins de 200 titres.
En revanche, je t'invite fortement à laisser tomber les champs de type binaire.
Si tu parcours un peu ce forum, tu verras que le stockage d'image est recommandé hors de la base.
S'il n'y a qu'une seule table, je ne vois pas l'intérêt d'un index.
Tu ne gagneras rien en performance sauf si tu dépasses le millier de données,
Ce qui n'arrivera pas puisque San Antonio ne regroupe qu'un peu moins de 200 titres.
En revanche, je t'invite fortement à laisser tomber les champs de type binaire.
Si tu parcours un peu ce forum, tu verras que le stockage d'image est recommandé hors de la base.
- Astrée
- Membre OOrganisé
- Messages : 76
- Inscription : 01 août 2017 21:45
- Localisation : Paris + Ile déserte
Re: Utilisation des index
Hello,
En général, tu peux te fier au proverbe : "les index gagnent du temps pour la recherche de données (= requêtes de type sélection), mais en perdent pour la mise à jour de données (car il faut alors qu'OpenOffice mette à jour les index en plus des données de la table)".
Mais si tu as peu de données, peu de tables, peu de requêtes manipulant plusieurs tables simultanément, les index ne t'apporteront vraiment rien.
Quant à leur "activation", je suppose qu'ils sont activés, pour le meilleur et pour le pire, dès qu'ils sont déclarés et que la structure de la table a été enregistrée.
Astrée
En général, tu peux te fier au proverbe : "les index gagnent du temps pour la recherche de données (= requêtes de type sélection), mais en perdent pour la mise à jour de données (car il faut alors qu'OpenOffice mette à jour les index en plus des données de la table)".
Mais si tu as peu de données, peu de tables, peu de requêtes manipulant plusieurs tables simultanément, les index ne t'apporteront vraiment rien.
Quant à leur "activation", je suppose qu'ils sont activés, pour le meilleur et pour le pire, dès qu'ils sont déclarés et que la structure de la table a été enregistrée.
Astrée
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
- Alain Melon
- NOOuvel adepte
- Messages : 21
- Inscription : 13 nov. 2017 19:33
- Localisation : Liège
Re: Utilisation des index
Bonjour Dude et Astrée,
Merci pour vos réactions rapides et révélatrices !!!
J'ai 62 ans et je programme "autour" des bases de données relationnelles depuis trente ans (dBase, puis Clipper, puis FileMaker 7).
Je viens de prendre un sérieux coup de pied au cul car pour moi, les index faisaient partie du B.A.BA de la gestion des tables.
Je comprends bien votre explication et je m'attendais bien à ce que ma démarche soit obsolète (mes longues recherches avant de poser la question sur le forum n(aboutissaient jamais à rien).
Si je comprends bien, je vais devoir créer une requête (avec tri) pour chaque souhait de "balaiement" de la table et y associer un formulaire correspondant ... Quel gâchi ...
En annexe, ma table de données;-)
Merci pour vos réactions rapides et révélatrices !!!
J'ai 62 ans et je programme "autour" des bases de données relationnelles depuis trente ans (dBase, puis Clipper, puis FileMaker 7).
Je viens de prendre un sérieux coup de pied au cul car pour moi, les index faisaient partie du B.A.BA de la gestion des tables.
Je comprends bien votre explication et je m'attendais bien à ce que ma démarche soit obsolète (mes longues recherches avant de poser la question sur le forum n(aboutissaient jamais à rien).
Si je comprends bien, je vais devoir créer une requête (avec tri) pour chaque souhait de "balaiement" de la table et y associer un formulaire correspondant ... Quel gâchi ...
En annexe, ma table de données;-)
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Re: Utilisation des index
Bonsoir
Je pense qu'avant de t'occuper des requêtes et des index tu devrais tenir compte de la remarque
A+
Je ne savais pas que dBase était un SGDBR.Alain Melon a écrit :je programme "autour" des bases de données relationnelles depuis trente ans (dBase
Je pense qu'avant de t'occuper des requêtes et des index tu devrais tenir compte de la remarque
Et pour une base de données relationnelle je ne comprend pas la structure de ta table.Dude a écrit :En revanche, je t'invite fortement à laisser tomber les champs de type binaire.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
- Astrée
- Membre OOrganisé
- Messages : 76
- Inscription : 01 août 2017 21:45
- Localisation : Paris + Ile déserte
Re: Utilisation des index
Bonjour,
Je comprends mieux l'usage que tu fais des index : des critères de tri, et je sais que c'est ce qui se faisait autrefois notamment en DBase3+.
On choisissait l'index à activer, et hop l'ordre de tri changeait soit visuellement, soit pour le parcours d'une table par un programme.
Sur un SGBD relationnel, ce que DBase n'était pas, ce n'est plus le cas. Les index servent à optimiser les accès en lecture et/ou en écriture (mais ça n'a de sens en pratique que si les données sont vraiment volumineuses ou complexes). Tu es libre de mettre des index où tu veux, mais a priori tu n'as pas à dire à OpenOffice d'utiliser tel ou tel index : c'est lui qui se débrouille pour optimiser (plus ou moins...).
Sur les SGBD haut de gamme, on peut en partie jouer sur les index pour optimiser les requêtes - c'est d'ailleurs souvent complexe - mais pas sur OpenOffice dans son utilisation basique.
Pour les tris, ce sont les ordres ORDER BY du SQL qu'il faut utiliser (ou la rubrique "tri" dans une requête faite graphiquement, mais cette option est partiellement bugée).
Quant au champ multivalué (couverture 1, couverture 2 etc), il est effectivement bizarre, il cache peut-être une autre table à créer, ça dépend du contexte.
Astrée, dont le marchand de sable s'impatiente.
Je comprends mieux l'usage que tu fais des index : des critères de tri, et je sais que c'est ce qui se faisait autrefois notamment en DBase3+.
On choisissait l'index à activer, et hop l'ordre de tri changeait soit visuellement, soit pour le parcours d'une table par un programme.
Sur un SGBD relationnel, ce que DBase n'était pas, ce n'est plus le cas. Les index servent à optimiser les accès en lecture et/ou en écriture (mais ça n'a de sens en pratique que si les données sont vraiment volumineuses ou complexes). Tu es libre de mettre des index où tu veux, mais a priori tu n'as pas à dire à OpenOffice d'utiliser tel ou tel index : c'est lui qui se débrouille pour optimiser (plus ou moins...).
Sur les SGBD haut de gamme, on peut en partie jouer sur les index pour optimiser les requêtes - c'est d'ailleurs souvent complexe - mais pas sur OpenOffice dans son utilisation basique.
Pour les tris, ce sont les ordres ORDER BY du SQL qu'il faut utiliser (ou la rubrique "tri" dans une requête faite graphiquement, mais cette option est partiellement bugée).
Quant au champ multivalué (couverture 1, couverture 2 etc), il est effectivement bizarre, il cache peut-être une autre table à créer, ça dépend du contexte.
Astrée, dont le marchand de sable s'impatiente.
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
- Alain Melon
- NOOuvel adepte
- Messages : 21
- Inscription : 13 nov. 2017 19:33
- Localisation : Liège
Re: Utilisation des index
Merci à tous et bon dodo
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM