SQLite : index et recherche rapide de texte

Magazine
Marque
GNU/Linux Magazine
Numéro
116
Mois de parution
mai 2009


Résumé
Lors du premier article, nous avions fait une approche rapide de SQLite, de ses concepts et de son API C. Cette fois-ci, nous allons passer un peu plus de temps sur les index, dont la bonne utilisation est critique pour le design d'une base de données. Nous verrons que ceux-ci ne peuvent pas résoudre tous les problèmes, mais qu'il est simple avec SQLite de combler les faiblesses du langage SQL avec les tables virtuelles, ce que propose le module de recherche rapide de texte FTS3. Nous profiterons aussi de l'occasion pour passer en revue l'API Python, plus simple et flexible que la C, pour réaliser un petit moteur de recherche de documentation.

1. Utilisation et limites des index

Dans SQLite comme dans toute autre base de données, les index permettent de créer un ordre sur les données stockées afin de les retrouver rapidement. Leur fonctionnement est similaire à celui des index de livres : ajouter un ou plusieurs index à la fin d'un livre augmente sa taille, mais permet d'y retrouver des informations données plus facilement. Ainsi, un index alphabétique permet de trouver facilement toutes les pages abordant un sujet, évitant au lecteur d'avoir à parcourir tout le livre pour obtenir le même résultat.

Dans une base de données, le fonctionnement est exactement le même : à moins qu'une colonne ne possède un index, une recherche sur celle-ci nécessitera de parcourir toutes les lignes de la table pour comparer les valeurs recherchées avec les valeurs stockées. En associant, à l'inverse, des indices de ligne aux valeurs qu'elles contiennent, un index bien utilisé permet d'améliorer grandement les performances...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Conception et vie d'un programme, partie 4 : exécution et interaction avec le noyau

Magazine
Marque
GNU/Linux Magazine
Numéro
132
Mois de parution
novembre 2010
Résumé
Après avoir étudié les différentes formes et transformations d'un programme depuis le code source jusqu'à l'exécutable chargé, il nous reste à nous intéresser aux mécanismes qui régissent son exécution. Celle-ci doit s'effectuer dans un cadre très strict, contrôlé à outrance par un autre programme qui joue le rôle d'autorité du système : le noyau.

Conception et vie d'un programme, partie 3 : chargement d'un exécutable

Magazine
Marque
GNU/Linux Magazine
Numéro
130
Mois de parution
septembre 2010
Résumé
Au cours des précédents articles, nous nous sommes familiarisés avec les étapes permettant de construire un programme binaire ainsi qu'avec le format ELF dans lequel il est stocké sur le disque. Ce mois-ci, nous allons découvrir comment le système charge ce format en vue de son exécution.

Conception et vie d'un programme : le format ELF

Magazine
Marque
GNU/Linux Magazine
Numéro
129
Mois de parution
juillet 2010
Résumé

Dans le précédent article, nous avions disséqué le processus de compilation d'un programme et étudié les différents états qu'il traverse. Mais le fichier binaire obtenu à la fin de cette chaîne nous semble bien opaque... Pourtant, bien que la distinction soit toujours faite entre fichiers « programmes » exécutables et fichiers « classiques » de données, les premiers ne sont guère différents des seconds en ce qu'ils obéissent à un format bien précis et sont gérés par un programme tiers, le chargeur. Afin de mieux comprendre ce qui fait un programme, nous allons dans le présent article disséquer le format exécutable ELF utilisé par Linux et de nombreux autres systèmes d'exploitation.

Les derniers articles Premiums

Les derniers articles Premium

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

De la scytale au bit quantique : l’avenir de la cryptographie

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Imaginez un monde où nos données seraient aussi insaisissables que le célèbre chat de Schrödinger : à la fois sécurisées et non sécurisées jusqu'à ce qu'un cryptographe quantique décide d’y jeter un œil. Cet article nous emmène dans les méandres de la cryptographie quantique, où la physique quantique n'est pas seulement une affaire de laboratoires, mais la clé d'un futur numérique très sécurisé. Entre principes quantiques mystérieux, défis techniques, et applications pratiques, nous allons découvrir comment cette technologie s'apprête à encoder nos données dans une dimension où même les meilleurs cryptographes n’y pourraient rien faire.

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous