Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| cnam:nfp107:seance8 [2023/04/22 16:13] – jcheron | cnam:nfp107:seance8 [2023/04/22 16:20] (Version actuelle) – jcheron | ||
|---|---|---|---|
| Ligne 178: | Ligne 178: | ||
| </ | </ | ||
| __**Retour :**__ | __**Retour :**__ | ||
| - | < | + | <sxh; |
| - | IdArticle | + | IdArticle |
| 7 | Federated | Le moteur Federated permet de déporter… | 7 | Federated | Le moteur Federated permet de déporter… | ||
| 6 | Exemple | 6 | Exemple | ||
| Ligne 227: | Ligne 227: | ||
| * Statistiques envoyées ne sont pas forcément précises : ce ne sont que des estimations. | * Statistiques envoyées ne sont pas forcément précises : ce ne sont que des estimations. | ||
| </ | </ | ||
| - | Choix d' | + | ==== Choix d' |
| - | séquentiel (HEAP) | + | |
| + | === séquentiel (HEAP) | ||
| Conditions favorables : | Conditions favorables : | ||
| - | chargement de données dans la base | + | * chargement de données dans la base |
| - | petites tables (occupation de peu de pages) | + | |
| - | requêtes manipulant des tables entières | + | |
| - | pour recupérer de l' | + | |
| Eviter : | Eviter : | ||
| + | * accès à 1 ou plusieurs tuples | ||
| + | * grosses tables | ||
| + | |||
| + | === HASH === | ||
| - | accès à 1 ou plusieurs tuples | ||
| - | grosses tables | ||
| - | HASH | ||
| Conditions favorables : | Conditions favorables : | ||
| - | recherche sur valeur exacte de clé (le plus rapide) | + | * recherche sur valeur exacte de clé (le plus rapide) |
| Eviter : | Eviter : | ||
| - | recherche sur pattern matching (partie de clé) | + | * recherche sur pattern matching (partie de clé) |
| - | traitement de table entière | + | |
| - | joints naturels (systématique sans restriction) | + | |
| - | ISAM | + | |
| + | === ISAM === | ||
| Conditions favorables : | Conditions favorables : | ||
| + | * requêtes nécessitant pattern matching ++ | ||
| + | * la table grossit lentement (peu de réorg.) | ||
| + | * clé large | ||
| - | requêtes nécessitant pattern matching ++ | ||
| - | la table grossit lentement (peu de réorg.) | ||
| - | clé large | ||
| Eviter : | Eviter : | ||
| - | si recherche sur clé complète (→HASH) | + | * si recherche sur clé complète (→HASH) |
| - | grosse table à croissance rapide | + | |
| - | BTREE | + | |
| + | === BTREE === | ||
| Conditions favorables : | Conditions favorables : | ||
| - | besoin de pattern matching + | + | * besoin de pattern matching + |
| - | la table grossit vite | + | |
| - | table trop grosse pour être souvent réorganisée (Modify) | + | |
| - | joints de tables entières | + | |
| Eviter : | Eviter : | ||
| - | table statique ou à croissance faible | + | * table statique ou à croissance faible |
| - | large clé | + | |
| - | si ajout de nouveaux tuples seulement en fin de table (plus grand risque de DEAD LOCK) | + | |
| - | Résumé | + | |
| - | Fonctionnalité B-Tree ISAM Hash Heap | + | |
| - | chargement de table ++ – – + | + | === Résumé |
| - | recherche sur clé complète ++ ++ + – | + | |
| - | intervalles/ | + | ^Fonctionnalité ^B-Tree ^ISAM ^Hash ^Heap ^ |
| - | recherches séquentielles ++ ++ - + | + | |chargement de table | ++ | – | – | + | |
| - | recherche sur clé partielle + + – – | + | |recherche sur clé complète |
| - | accés à données triées + – – – | + | |intervalles/ |
| - | joints sur larges tables + + – – | + | |recherches séquentielles |
| - | index croît comme table + – – – | + | |recherche sur clé partielle |
| - | très petite table + – – – | + | |accés à données triées |
| - | très grande table + – – – | + | |joints sur larges tables |
| + | |index croît comme table | + | – | – | – | | ||
| + | |très petite table | + | – | – | – | | ||
| + | |très grande table | + | – | – | – | | ||
| Source : Bernard Espinasse | Source : Bernard Espinasse | ||
| - | Application | + | ==== Application |
| Objectif : | Objectif : | ||
| - | Benchmark des moteurs de stockage MySQL (InnoDB, MyISAM) et PostgreSQL. | + | * Benchmark des moteurs de stockage MySQL (InnoDB, MyISAM) et PostgreSQL. |
| - | Tests sur petits (100) et + gros volumes de données (10 000) | + | |
| - | sur les 6 primitives de base | + | |
| - | Etablir un protocole de test (nb de requêtes, concurrency level, méthode/ | + | |
| - | Créer les bases de données : | + | <WRAP todo> |
| - | Pour chaque moteur (X3) | + | * Etablir un protocole de test (nb de requêtes, concurrency level, méthode/ |
| - | Pour chaque volume (X2) | + | |
| - | Incorporer les données avec GenerateData | + | |
| - | Mettre en place le protocole établi | + | |
| - | Réaliser les tests | + | |
| - | Présenter les résultats | + | |
| + | | ||
| + | | ||
| + | </ | ||