{"id":998,"date":"2022-08-13T13:23:35","date_gmt":"2022-08-13T12:23:35","guid":{"rendered":"http:\/\/www.bocciolesi.fr\/tutoriels-et-cours\/?p=998"},"modified":"2022-09-13T13:50:36","modified_gmt":"2022-09-13T12:50:36","slug":"mysql-adminstration-i","status":"publish","type":"post","link":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/","title":{"rendered":"Les Moteurs de Stockage MySQL"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/998?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Afficher le PDF\" \/><span class=\"pdfprnt-button-title pdfprnt-button-pdf-title\">Enregistrer en PDF<\/span><\/a><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/998?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><p><span style=\"color: #888888;\"><span style=\"color: #3366ff;\"><strong>I\u25ba Dans cet article, nous allons voir quels sont les principaux moteurs de\u00a0stockage\u00a0de donn\u00e9es dans le serveur\u00a0MySQL et quels sont les\u00a0avantages\u00a0et les inconv\u00e9nients\u00a0de chacun d&#8217;entre eux ..<\/strong><\/span><br \/>\nLe moteur stocke les informations sur les\u00a0disques\u00a0et en m\u00e9moire vive&#8230;<\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #800080;\">I ?\u00a0Les diff\u00e9rents moteurs de stockage MySQL :<\/span><\/strong><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p>MySQL propose une\u00a0architecture <em>pluggable storage engine<\/em>, ce qui permet de choisir le type de moteur de stockage au niveau de chaque table en fonction des donn\u00e9es et des requ\u00eates \u00e0 traiter.<br \/>\nLe moteur de stockage est choisi \u00e0 la cr\u00e9ation de la table mais il peut \u00eatre modifi\u00e9 plus tard&#8230;<\/p>\n<p>Commen\u00e7ons par voir quels moteurs sont support\u00e9s par notre serveur :<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1263\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture3.jpg\" alt=\"Capture\" width=\"646\" height=\"214\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture3.jpg 646w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture3-300x99.jpg 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture3-624x206.jpg 624w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\"><strong><span style=\"color: #3366ff; text-decoration: underline;\">exemple<\/span> <\/strong><\/span>:<br \/>\nmysql&gt; CREATE TABLE table_clients (id_client INT, nom_client TEXT) ENGINE=MyISAM;<br \/>\nmysql&gt; ALTER TABLE table_clients ENGINE=InnoDB;<\/p>\n<p>la base de donn\u00e9es <span style=\"color: #3366ff;\">information_schema<\/span> donne une foule d&#8217;informations sur les tables, les vues, etc &#8230; la table TABLES nous donne des informations sur :<\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">le nom des tables : TABLE_NAME<\/span><\/li>\n<li>le moteur : ENGINE<\/li>\n<li>la date de cr\u00e9ation<\/li>\n<li>le jeu d&#8217;encodage &#8230;<\/li>\n<\/ul>\n<p><strong><span style=\"color: #800080;\">?\u00a0Voici une liste des diff\u00e9rents moteurs de stockage MySQL :<\/span><\/strong><\/p>\n<p><span style=\"line-height: 1.714285714; font-size: 1rem;\">Choisir le moteur de stockage d\u00e9pend donc de beaucoup de param\u00e8tres comme :<\/span><\/p>\n<ul>\n<li>La fa\u00e7on de stocker les donn\u00e9es.<\/li>\n<li>Les verrous.<\/li>\n<li>Les sauvegardes et restaurations.<\/li>\n<li>Les transactions.<\/li>\n<li>Les index, les full-text, les cl\u00e9s \u00e9trang\u00e8res.<\/li>\n<\/ul>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><strong style=\"color: #3366ff; font-size: 1.285714286rem; line-height: 1.6;\">MyIsam :<\/strong><\/p>\n<p>MyIsam \u00e9tait le moteur de stockage par d\u00e9faut pour toutes les versions de MySQL inf\u00e9rieures \u00e0 MySQL 5.5.<strong><span style=\"color: #800080;\">?<\/span><span style=\"color: #800080;\"> Il convient bien aux tables statiques ou pratiquement statiques.<\/span><\/strong><\/p>\n<ul>\n<li>Il ne g\u00e8re ni les relations ni les transactions SQL.<\/li>\n<li>Il bloque les\u00a0tables\u00a0automatiquement lors d\u2019insertion, de modification ou de suppression de donn\u00e9es.<\/li>\n<li><span style=\"font-size: 1rem; line-height: 1.714285714;\">Il permet <strong><span style=\"color: #800080;\">l\u2019indexation<\/span> <\/strong>des champs et est capable de\u2019optimiser au maximum ses\u00a0<\/span>recherches<span style=\"font-size: 1rem; line-height: 1.714285714;\">\u00a0textes avec l\u2019index <strong><span style=\"color: #800080;\">FULLTEXT<\/span> <\/strong>(bien plus rapide qu\u2019une clause LIKE %\u2026)<\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Il est extr\u00eamement\u00a0rapide en lecture.<\/span><\/li>\n<\/ul>\n<p>\u00bb\u00a0Une table\u00a0MyISAM peut avoir 3 formats :<\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\"><strong><span style=\"color: #3366ff;\">statique (FIXED) :<\/span><\/strong><br \/>\n<span style=\"font-size: 1rem; line-height: 1.714285714;\">Ce type de table ne contient aucun champ de type dynamique (VARCHAR,\u00a0VARBINARY,\u00a0TEXT\u00a0ou\u00a0BLOB.<br \/>\nTous les enregistrements sont de la m\u00eame taille, les tables sont plus rapides<br \/>\nLa restauration des donn\u00e9es est optimis\u00e9e !<br \/>\n<span style=\"font-size: 1rem; line-height: 1.714285714;\">L&#8217;espace disque est plus cons\u00e9quent qu&#8217;en table dynamique, c&#8217;est le point n\u00e9gatif !<\/span><\/span><\/span><\/li>\n<\/ul>\n<ul>\n<li><strong><span style=\"line-height: 1.714285714; font-size: 1rem; color: #3366ff;\">dynamique (DYNAMIC)<br \/>\n<\/span><\/strong><span style=\"line-height: 1.714285714; font-size: 1rem; color: #3366ff;\"><span style=\"color: #333333;\">Les types de donn\u00e9es VARCHAR, TEXT et BLOB sont autoris\u00e9s.<br \/>\n<strong><span style=\"color: #800080;\">OPTIMIZE TABLE<\/span><\/strong> et\u00a0<strong><span style=\"color: #800080;\">myisamchk\u00a0<\/span><\/strong>sont n\u00e9cessaires pour d\u00e9fragmenter les tables<br \/>\nLa restauration des donn\u00e9es est plus contraignante qu&#8217;avec les tables statiques.<br \/>\n<\/span><\/span><strong><span style=\"line-height: 1.714285714; font-size: 1rem; color: #3366ff;\"><br \/>\n<\/span><\/strong><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\"><strong>compress\u00e9e (COMPRESSED)<\/strong><\/span><br \/>\n<strong><span style=\"color: #800080;\">myisampack<\/span> <\/strong>permet de compresser les donn\u00e9es et les index et de diminuer l&#8217;espace disque au maximum de 70 %<br \/>\nUPDATE,\u00a0DELETE\u00a0ou\u00a0INSERT ne fonctionnent plus \u00e9videmment.<br \/>\n<span style=\"line-height: 1.714285714; font-size: 1rem;\">Il faudra d\u00e9compresser la table avec <\/span><strong style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #800080;\">myisamchk<\/span><\/strong><span style=\"line-height: 1.714285714; font-size: 1rem;\">.<br \/>\n?\u00a0Une application tournant sur CD\/cl\u00e9 USB aura tout int\u00e9r\u00eat \u00e0 utiliser une table MyISAM compress\u00e9e.<\/span><\/span><\/li>\n<\/ul>\n<p><a style=\"line-height: 1.714285714; font-size: 1rem;\" href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1026\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture2.png\" alt=\"Capture\" width=\"432\" height=\"470\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture2.png 432w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture2-275x300.png 275w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/a><\/p>\n<p>On peut \u00e0 la cr\u00e9ation imposer le type <strong><span style=\"color: #3366ff;\">row_format<\/span> <\/strong>ou plus trad avec alter table &#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<h2><span style=\"color: #3366ff;\"><strong>InnoDB :<\/strong><\/span><\/h2>\n<p>InnoDB est un moteur transactionnel et relationnel. Il est adapt\u00e9 aux tables dynamiques (mises \u00e0 jour tr\u00e8s r\u00e9guli\u00e8rement avec beaucoup de transactions)<br \/>\nIl s\u2019assure de la coh\u00e9rence des enregistrements connexes lors d\u2019op\u00e9rations sur les tables.<br \/>\n<span style=\"line-height: 1.714285714; font-size: 1rem;\">Le verrouillage des donn\u00e9es s\u2019effectue uniquement au niveau de la\u00a0ligne\u00a0concern\u00e9e et non de la table (MyIsam).<br \/>\nIl permet de restaurer automatiquement les donn\u00e9es apr\u00e8s un crash syst\u00e8me gr\u00e2ce aux fichiers\u00a0bas\u00e9 sur les journaux de transactions :<strong><span style=\"color: #800080;\"> ib_logfile0\u00a0et\u00a0ib_logfile1\u00a0<\/span><\/strong><\/span><\/p>\n<p>Il est plus lent que MyIsam mais plus s\u00e9curis\u00e9 (gr\u00e2ce aux relations). Ceci tend \u00e0 devenir faux depuis la version 5.5\u2026<\/p>\n<p>Une <strong><span style=\"color: #3366ff;\">table\u00a0InnoDB\u00a0est d\u00e9crite<\/span><\/strong> sur une unit\u00e9 de disque par un fichier dont l\u2019extension est<strong><span style=\"color: #3366ff;\"> .frm.<\/span><\/strong> <em>(ceci est commun \u00e0 tous les moteurs MySQL)<\/em><br \/>\n?\u00a0Le fichier .frm contient la structure de la table.<br \/>\n?\u00a0Les donn\u00e9es et les index de toutes les tables\u00a0InnoDB\u00a0du serveur sont stock\u00e9s dans le tablespace, d\u00e9crit sur une unit\u00e9 de disque par un fichier (par d\u00e9faut\u00a0ibdata1).<\/p>\n<p>On peut modifier le fait de stocker toutes les donn\u00e9es dans ibdata gr\u00e2ce \u00e0 l\u2019option<strong><span style=\"color: #3366ff;\">\u00a0innodb_file_per_table<\/span><\/strong>. my.cnf ou my.ini : innodb_file_per_table=1<br \/>\nCette option force le serveur MySQL \u00e0 g\u00e9n\u00e9rer un fichier dont l&#8217;extension <strong><span style=\"color: #3366ff;\">.ibd<\/span><\/strong> et qui contient les donn\u00e9es et les index de la table.<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1013\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1.jpg\" alt=\"Capture\" width=\"230\" height=\"177\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture11.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1014\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture11.jpg\" alt=\"Capture1\" width=\"439\" height=\"170\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture11.jpg 439w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture11-300x116.jpg 300w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #800080;\">?\u00a0Stockage des infos en m\u00e9moire et sur disque :<\/span><\/strong><\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Les transactions en cours sont \u00e9crites en m\u00e9moire dans le <strong><span style=\"color: #3366ff;\">l<\/span><\/strong><\/span><span style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\">og buffer<\/span>\u00a0(option de my.cnf ou my.ini\u00a0<\/span><strong style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\">innodb_log_buffer_size<\/span><\/strong><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Les donn\u00e9es et les index sont \u00e9crits en m\u00e9moire dans le <strong><span style=\"color: #3366ff;\">buffer pool\u00a0<\/span><\/strong><span style=\"color: #3366ff;\"><span style=\"color: #333333;\">(option de my.cnf ou my.ini<\/span><\/span><strong><span style=\"color: #3366ff;\">\u00a0<\/span><span style=\"color: #3366ff;\">\u00a0innodb_buffer_pool_size<\/span><\/strong><\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Le checkpoint permet d&#8217;\u00e9crire les informations des 2 buffers sur le disque 1x\/seconde, lors du checkpoint, dans l\u2019un des deux journaux des transactions <strong><span style=\"color: #3366ff;\">(ib_logfile0\u00a0ou\u00a0ib_logfile1)<\/span><\/strong> pour le <strong><span style=\"color: #3366ff;\">log buffer<\/span><\/strong> et dans le <strong><span style=\"color: #3366ff;\">tablespace<\/span> <\/strong>pour le <strong><span style=\"color: #3366ff;\">buffer pool.<\/span><\/strong><\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Le log buffer est sp\u00e9cifiquement \u00e9crit sur le disque \u00e0 chaque validation (commit) de transaction.<\/span><span style=\"line-height: 1.714285714; font-size: 1rem;\">(modifiable avec l\u2019option<strong><span style=\"color: #3366ff;\">\u00a0innodb_flush_log_at_trx_commit)<\/span><\/strong><br \/>\n<\/span><\/li>\n<\/ul>\n<p><strong><span style=\"color: #800080;\">Options des journaux de transactions :<\/span><\/strong><\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">innodb_log_files_in_group : nombre de journaux de transactions<\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">taille avec\u00a0innodb_log_file_size: taille<\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">\u00a0innodb_data_file_path. :\u00a0tablespace : localisation, taille et nom<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<h2><span style=\"color: #3366ff;\"><strong>Memory (heap) :<\/strong><\/span><\/h2>\n<p>Memory est un moteur de stockage qui cr\u00e9e les tables directement en <strong><span style=\"color: #800080;\">RAM<\/span><\/strong>.<br \/>\nIl est le plus <strong><span style=\"color: #800080;\">rapide<\/span> <\/strong>des moteurs mais extr\u00eamement dangereux en cas de plantage du syst\u00e8me (les donn\u00e9es sont perdues).<br \/>\nIl est utilis\u00e9 en d\u00e9veloppement Web pour stocker des informations relatives \u00e0 la session (Panier, compte client , mail \u2026) \u00e9galement\u00a0<span style=\"line-height: 1.714285714; font-size: 1rem;\">propos\u00e9 chez les h\u00e9bergeurs en mutualis\u00e9\u00a0<\/span><\/p>\n<p>Dans ce cas il faut remplir les tables Memory r\u00e9guli\u00e8rement depuis\u00a0une source de donn\u00e9es persistante (fichier ou table d&#8217;un autre moteur).<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1019\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture.png\" alt=\"Capture\" width=\"792\" height=\"204\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture.png 792w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture-300x77.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture-624x160.png 624w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1024\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1.png\" alt=\"Capture\" width=\"907\" height=\"380\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1.png 907w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1-300x125.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture1-624x261.png 624w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #800080;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/strong><\/p>\n<h2><em id=\"__mceDel\"><span style=\"color: #3366ff;\"><strong>Merge :<\/strong><\/span><\/em><\/h2>\n<p>Merge est un moteur qui permet de r\u00e9unir plusieurs tables de donn\u00e9es ind\u00e9pendantes en une seule m\u00eame table.<br \/>\nLes tables fusionn\u00e9es peuvent appartenir \u00e0 plusieurs bases de donn\u00e9es mais celles-ci doivent \u00eatre physiquement pr\u00e9sentes sur le m\u00eame serveur.<br \/>\nLes colonnes et les types doivent \u00eatre strictement identiques.<\/p>\n<p>On peut cr\u00e9er une table par mois et fusionner le tout en une table annuelle.<br \/>\nOn peut bien s\u00fbr travailler ind\u00e9pendamment sur chaque mois (table) et requ\u00eater sur l\u2019ann\u00e9e enti\u00e8re ou en cours de construction.<\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<h2><span style=\"color: #3366ff;\">BlackHole :<\/span><\/h2>\n<div>Le trou noir ( -&gt; \/dev\/null ) est un moteur qui permet de faire des simulations car tout ce qui est \u00e9crit est d\u00e9truit au final, ce qui \u00e9vite de supprimer (drop) les tables au final.<\/div>\n<div><\/div>\n<div><\/div>\n<div><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/div>\n<h2><span style=\"color: #3366ff;\">Archive :<\/span><\/h2>\n<p>Archive est un moteur de stockage qui permet de stocker d\u2019\u00e9normes quantit\u00e9 de donn\u00e9es. en effet, les donn\u00e9es sont <strong><span style=\"color: #800080;\">compress\u00e9es<\/span> <\/strong>\u00e0 leur insertion.<br \/>\nNi les relations, ni les transactions, ni les index ne sont autoris\u00e9es. on ne peut faire que des requ\u00eates d\u2019insert et de select !<\/p>\n<p>ARCHIVE est principalement utilis\u00e9 pour <strong><span style=\"color: #800080;\">stocker des donn\u00e9es brute<\/span><\/strong>s. Un exemple d&#8217;application pour archive est<strong><span style=\"color: #800080;\"> l&#8217;enregistrements de logs<\/span><\/strong>.<\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><span style=\"color: #3366ff; font-size: 1.285714286rem; line-height: 1.6;\">CSV :<\/span><\/p>\n<p>Les donn\u00e9es sont stock\u00e9es dans des fichiers textes s\u00e9par\u00e9es par une virgule; il permet une grande compatibilit\u00e9 avec les tableurs.<\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><em>Michel BOCCIOLESI<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u25ba Dans cet article, nous allons voir quels sont les principaux moteurs de\u00a0stockage\u00a0de donn\u00e9es dans le serveur\u00a0MySQL et quels sont les\u00a0avantages\u00a0et les inconv\u00e9nients\u00a0de chacun d&#8217;entre eux .. Le &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1547,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,5,39],"tags":[],"class_list":["post-998","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mariadb","category-mysql","category-tutoriels"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Les Moteurs de Stockage MySQL - Tutoriels et Cours<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Les Moteurs de Stockage MySQL - Tutoriels et Cours\" \/>\n<meta property=\"og:description\" content=\"I\u25ba Dans cet article, nous allons voir quels sont les principaux moteurs de\u00a0stockage\u00a0de donn\u00e9es dans le serveur\u00a0MySQL et quels sont les\u00a0avantages\u00a0et les inconv\u00e9nients\u00a0de chacun d&#8217;entre eux .. Le ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutoriels et Cours\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-13T12:23:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-13T12:50:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"424\" \/>\n\t<meta property=\"og:image:height\" content=\"283\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michel BOCCIOLESI\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michel BOCCIOLESI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/\",\"name\":\"Les Moteurs de Stockage MySQL - Tutoriels et Cours\",\"isPartOf\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"datePublished\":\"2022-08-13T12:23:35+00:00\",\"dateModified\":\"2022-09-13T12:50:36+00:00\",\"author\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\"},\"breadcrumb\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"contentUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"width\":424,\"height\":283,\"caption\":\"Cours et tutoriels MySQL et Maria DB\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Les Moteurs de Stockage MySQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\",\"name\":\"Tutoriels et Cours\",\"description\":\"Michel Bocciolesi | Formateur Consultant en Informatique\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\",\"name\":\"Michel BOCCIOLESI\",\"description\":\"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.\",\"sameAs\":[\"https:\/\/www.mb-creation-web.fr\"],\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Les Moteurs de Stockage MySQL - Tutoriels et Cours","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/","og_locale":"fr_FR","og_type":"article","og_title":"Les Moteurs de Stockage MySQL - Tutoriels et Cours","og_description":"I\u25ba Dans cet article, nous allons voir quels sont les principaux moteurs de\u00a0stockage\u00a0de donn\u00e9es dans le serveur\u00a0MySQL et quels sont les\u00a0avantages\u00a0et les inconv\u00e9nients\u00a0de chacun d&#8217;entre eux .. Le ...","og_url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/","og_site_name":"Tutoriels et Cours","article_published_time":"2022-08-13T12:23:35+00:00","article_modified_time":"2022-09-13T12:50:36+00:00","og_image":[{"width":424,"height":283,"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","type":"image\/jpeg"}],"author":"Michel BOCCIOLESI","twitter_misc":{"\u00c9crit par":"Michel BOCCIOLESI","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/","name":"Les Moteurs de Stockage MySQL - Tutoriels et Cours","isPartOf":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage"},"image":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage"},"thumbnailUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","datePublished":"2022-08-13T12:23:35+00:00","dateModified":"2022-09-13T12:50:36+00:00","author":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe"},"breadcrumb":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#primaryimage","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","contentUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","width":424,"height":283,"caption":"Cours et tutoriels MySQL et Maria DB"},{"@type":"BreadcrumbList","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/mysql-adminstration-i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/"},{"@type":"ListItem","position":2,"name":"Les Moteurs de Stockage MySQL"}]},{"@type":"WebSite","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/","name":"Tutoriels et Cours","description":"Michel Bocciolesi | Formateur Consultant en Informatique","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe","name":"Michel BOCCIOLESI","description":"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.","sameAs":["https:\/\/www.mb-creation-web.fr"],"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/"}]}},"_links":{"self":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/comments?post=998"}],"version-history":[{"count":31,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/998\/revisions"}],"predecessor-version":[{"id":1619,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/998\/revisions\/1619"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media\/1547"}],"wp:attachment":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media?parent=998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/categories?post=998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/tags?post=998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}