[Résolu] Utilisation des index

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

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.
Avatar de l’utilisateur
Alain Melon
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 13 nov. 2017 19:33
Localisation : Liège

[Résolu] Utilisation des index

Message par Alain Melon »

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.
Dernière modification par Oukcha le 15 nov. 2017 14:30, modifié 1 fois.
Raison : Balisage
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Utilisation des index

Message par Piaf »

Bonsoir et bienvenue sur le Forum
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 ?
Et comment fait on pour comprendre la structure de ta base sans fichier exemple ?
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
Alain Melon
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 13 nov. 2017 19:33
Localisation : Liège

Re: Utilisation des index

Message par Alain Melon »

Voici la structure de la table et la structure des index
Pièces jointes
Structure des index.GIF
Structure de la base.GIF
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Utilisation des index

Message par Dude »

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.
Avatar de l’utilisateur
Astrée
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 01 août 2017 21:45
Localisation : Paris + Ile déserte

Re: Utilisation des index

Message par Astrée »

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
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
Avatar de l’utilisateur
Alain Melon
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 13 nov. 2017 19:33
Localisation : Liège

Re: Utilisation des index

Message par Alain Melon »

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;-)
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Utilisation des index

Message par Piaf »

Bonsoir
Alain Melon a écrit :je programme "autour" des bases de données relationnelles depuis trente ans (dBase
Je ne savais pas que dBase était un SGDBR.
Je pense qu'avant de t'occuper des requêtes et des index tu devrais tenir compte de la remarque
Dude a écrit :En revanche, je t'invite fortement à laisser tomber les champs de type binaire.
Et pour une base de données relationnelle je ne comprend pas la structure de ta table.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
Astrée
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 01 août 2017 21:45
Localisation : Paris + Ile déserte

Re: Utilisation des index

Message par Astrée »

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.
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
Avatar de l’utilisateur
Alain Melon
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 13 nov. 2017 19:33
Localisation : Liège

Re: Utilisation des index

Message par Alain Melon »

Merci à tous et bon dodo :!:
:D
AOO 4.1.7
Java 1.8.0 241
Windows 10 64-bit
16 Go RAM
Verrouillé