|
blog actif depuis 774 jours.
retours d'expériences, codes sources, réflexions, humeurs... d'un webmaster |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Lun. 09 Févr. Une des particularités de MySQL est qu'il supporte plusieurs moteurs de stockage. Chaque moteur a ses avantages et ses inconvénients. Le choix du moteur se fait donc à la création de la base de données, selon l'utilisation que l'on va en faire et selon les performances désirées. Les moteurs les plus courants sont MyISAM, le moteur proposé par défaut par MySQL, et InnoDB. Mais d'autres moteurs plus ou moins 'exotiques' sont également proposés. MyISAM Ce moteur est simple et rapide, car il ne gère pas les transactions et ne vérifie pas l'intégrité des bases. Chaque table MyISAM est enregistrée sous 3 fichiers : - table.frm : définition de la table - table.MYD : données - table.MYI : index Ainsi la sauvegarde peut se faire très simplement en copiant ces fichiers et la restauration en les collant dans le repertoire data de MySQL. La recherche en FULLTEXT permet une approche comparable aux moteurs de recherche. Ce moteur est donc très utile pour des tables sur lesquelles vous devez faire beaucoup de recherche et pour lesquelles l'intégrité des données n'est pas primordiale. MERGE La table MERGE est en fait un groupe de tables MyISAM utilisées comme une seule même table. Ce qui implique que toutes les tables MyISAM ont la même structure Les lectures de clés d'une table MERGE sont plus lentes que pour une seule table MyISAM, car pour chaque lecture sur une clé, une lecture est faite dans tous les fichiers d'index de chaque table MyISAM. Ce moteur peut être intéressant si vous voulez séparer les données par date. Ainsi vous pouvez créer les tables table2008, table2009… puis faire vos selections sur une table merge regroupant table2008 et table2009. InnoDB Le moteur de table InnoDB est un moteur transactionnel avec validation (COMMIT), annulation (ROLLBACK) et restauration après crash. De plus, il utilise un système de verrouillage, ce qui permet une utilisation simultanée accrue. InnoDB est un moteur de tables relationnel, il utilise les contraintes de clés étrangères (FOREIGN KEY). La structure d'une table InnoDB est enregistrée dans le fichier table.frm. Les données et le journal des transactions sont eux enregistrés dans des fichiers spécifiques (ib_logfile et ib_data). Il est conseillé pour la sauvegarde, de faire un dump de la base à l'aide de la commande mysqldump. Ce moteur est donc à utiliser si l'intégrité de vos données est une priorité. Il est cependant moins performant que MyISAM en terme de vitesse. ARCHIVE Ce moteur permet d'enregistrer et de lire des données. En effet, il ne supporte que les requêtes INSERT et SELECT. Il est très performant pour enregistrer des logs, qui n'ont pas besoin d'être modifiés ou supprimés. Les enregistrements sont compressés au moment de leur insertion. EXAMPLE Le moteur EXAMPLE peut être considéré comme un moteur virtuel dans le sens ou la table créée n'est pas utilisable. Seule sa définition est créée. Les requêtes sont bien traitées, mais aucune donnée n'est enregistrée. Ce moteur n'a d'intérêt que pour les développeurs, pour tester les requêtes envoyées à la base. MEMORY (HEAP) Le moteur MEMORY est un moteur qui stocke les données en mémoire. Ce qui accélère le traitement des données, mais le contenu sera perdu au redémarrage du serveur. CSV Le moteur CSV enregistre les données au format CSV. Il ne supporte évidemment pas l'indexation.
CommentairesAucun commentaire
Ajouter un commentaire |
Webmaster depuis maintenant plus de 10 ans, j'ai créé ce blog pour publier mes retours d'expérience et parler du Web et du développement Web en général, mais aussi de plein d'autres choses...
romualb.com est sur Facebook
![]()
![]()
![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||