{"id":2799,"date":"2022-09-30T15:41:44","date_gmt":"2022-09-30T13:41:44","guid":{"rendered":"https:\/\/www.easyhost.be\/fr\/help\/?post_type=ht_kb&#038;p=2799"},"modified":"2024-12-11T13:03:57","modified_gmt":"2024-12-11T12:03:57","slug":"quota-phpmyadmin-face-a-lutilisation-du-disque","status":"publish","type":"ht_kb","link":"https:\/\/www.easyhost.be\/fr\/help\/kb\/quota-phpmyadmin-face-a-lutilisation-du-disque\/","title":{"rendered":"Quota : phpMyAdmin face \u00e0 l&rsquo;utilisation du disque"},"content":{"rendered":"\n<p>La commande SHOW TABLE STATUS de MySQL et phpMyAdmin fournissent tous deux un aper\u00e7u de l&rsquo;utilisation de chacune de vos tables. Cet aper\u00e7u pr\u00e9sente n\u00e9anmoins souvent des diff\u00e9rences (importantes) par rapport \u00e0 l&rsquo;espace qui est r\u00e9ellement utilis\u00e9 sur le disque, et ce pour de multiples raisons, voire une combinaison de celles-ci&nbsp;:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-index\"><strong>Index<\/strong><\/h3>\n\n\n\n<p>Lors de la cr\u00e9ation d&rsquo;une table, vous avez la possibilit\u00e9 de d\u00e9finir un ou plusieurs index. Un index contient une partie ou la totalit\u00e9 des donn\u00e9es d&rsquo;une colonne sp\u00e9cifique, permettant de filtrer les r\u00e9sultats avec des r\u00e9f\u00e9rences aux informations compl\u00e8tes de l&rsquo;enregistrement. Cela signifie qu&rsquo;une partie des donn\u00e9es peut \u00eatre dupliqu\u00e9e sur le disque.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fragmentation ou espaces &lsquo;vides&rsquo; dans le fichier de donn\u00e9es<\/strong><\/h3>\n\n\n\n<p>MySQL ne supprime pas r\u00e9ellement les donn\u00e9es apr\u00e8s avoir supprim\u00e9 un enregistrement au sein d&rsquo;une table, mais le marque n\u00e9anmoins comme &lsquo;supprim\u00e9&rsquo; afin que de nouvelles donn\u00e9es puissent r\u00e9utiliser l&rsquo;espace ainsi lib\u00e9r\u00e9. Dans les cas o\u00f9 cela ne se produit pas, les donn\u00e9es occupent toujours de l&rsquo;espace disque, ce qui explique pourquoi votre table occupe plus d&rsquo;espace disque que ce qu&rsquo;indique MySQL.<\/p>\n\n\n\n<p>Au fil du temps, pour certains types de tables contenant des donn\u00e9es volatiles (il s&rsquo;agit principalement des tables utilis\u00e9es pour stocker des donn\u00e9es en cache), l&rsquo;espace occup\u00e9 par les enregistrements supprim\u00e9s finit par augmenter de mani\u00e8re rapide et non n\u00e9gligeable. Celui-ci peut en effet parfois atteindre 50 %, voire plus de 100 % du volume occup\u00e9 par les donn\u00e9es r\u00e9ellement utiles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Le &lsquo;lazy counting&rsquo; de MySQL<\/strong><\/h3>\n\n\n\n<p>\u00c9tant donn\u00e9 que la lecture de la totalit\u00e9 du fichier de donn\u00e9es sur le disque pour en calculer l&rsquo;utilisation demande beaucoup de ressources, MySQL agit de mani\u00e8re astucieuse en estimant certains chiffres sur la base d&rsquo;un \u00e9chantillon de donn\u00e9es contenues dans la table. Si ce n&rsquo;\u00e9tait pas le cas, les performances de vos requ\u00eates MySQL en souffriraient, ce qui entra\u00eenerait une latence \u00e9lev\u00e9e et des sites web lents.<\/p>\n\n\n\n<p>Au fil du temps, cet \u00e9chantillon de donn\u00e9es peut cependant devenir tr\u00e8s peu repr\u00e9sentatif de la r\u00e9alit\u00e9, conduisant \u00e0 une sous-estimation de l&rsquo;utilisation r\u00e9elle du disque.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Nombre de tables<\/strong><\/h3>\n\n\n\n<p>En plus d&rsquo;avoir des requ\u00eates intelligentes et d&rsquo;ajouter les index appropri\u00e9s, la structure de la base de donn\u00e9es est \u00e9galement un point tr\u00e8s important. N&rsquo;ajoutez que les tables dont vous avez r\u00e9ellement besoin. Chaque table cr\u00e9e en effet un peu de surcharge, et plus il y a de tables, plus la surcharge est importante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Solutions<\/strong><\/h2>\n\n\n\n<p>La r\u00e9analyse ou l&rsquo;optimisation des tables suspect\u00e9es d&rsquo;utiliser plus d&rsquo;espace disque que ce que MySQL rapporte s&rsquo;av\u00e8re <strong>souvent<\/strong> utile. Et il existe plusieurs fa\u00e7ons de faire cela&nbsp;:<\/p>\n\n\n\n<ul><li>Pour r\u00e9soudre le probl\u00e8me du &lsquo;lazy counting&rsquo;, il peut \u00eatre suffisant de simplement ex\u00e9cuter la commande&nbsp;ANALYZE TABLE &lt;tablename&gt;;<\/li><li>Pour r\u00e9soudre le probl\u00e8me de fragmentation (qui peut \u00e9galement se produire au niveau des index), vous pouvez d\u00e9clencher une reconstruction en utilisant l&rsquo;une des deux m\u00e9thodes suivantes&nbsp;:<ul><li>OPTIMIZE TABLE &lt;tablename&gt;;<\/li><li>ALTER TABLE &lt;tablename&gt; ENGINE=InnoDB;&nbsp;(m\u00e9thode \u00e0 utiliser uniquement s&rsquo;il s&rsquo;agit d&rsquo;une table InnoDB&nbsp;; la m\u00e9thode pr\u00e9c\u00e9dente est plus s\u00fbre, car elle fonctionne pour tous les types de tables)<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Les avantages d&rsquo;une base de donn\u00e9es optimis\u00e9e<\/strong><\/h2>\n\n\n\n<p>En plus d&rsquo;utiliser moins d&rsquo;espace disque, une base de donn\u00e9es optimis\u00e9e pr\u00e9sente quelques autres avantages.<\/p>\n\n\n\n<ul><li>L&rsquo;acc\u00e8s \u00e0 des bases de donn\u00e9es plus volumineuses requiert davantage de m\u00e9moire et sollicite davantage le processeur du syst\u00e8me, alors que ces ressources pourraient \u00eatre utilis\u00e9es pour d&rsquo;autres processus importants.<\/li><li>La sauvegarde d&rsquo;une base de donn\u00e9es optimis\u00e9e n\u00e9cessite moins de temps, ce qui a pour effet d&rsquo;am\u00e9liorer les performances g\u00e9n\u00e9rales du serveur pendant les op\u00e9rations de sauvegarde.<\/li><li>L&rsquo;interrogation de tables non optimis\u00e9es peut ralentir votre site web.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>La commande SHOW TABLE STATUS de MySQL et phpMyAdmin fournissent tous deux un aper\u00e7u de l&rsquo;utilisation de chacune de vos tables. Cet aper\u00e7u pr\u00e9sente n\u00e9anmoins souvent des diff\u00e9rences (importantes) par rapport \u00e0 l&rsquo;espace qui est r\u00e9ellement utilis\u00e9 sur le disque, et ce pour de multiples raisons, voire une combinaison de&#8230;<\/p>\n","protected":false},"author":1,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[13,29],"ht-kb-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb\/2799"}],"collection":[{"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/comments?post=2799"}],"version-history":[{"count":1,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb\/2799\/revisions"}],"predecessor-version":[{"id":2800,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb\/2799\/revisions\/2800"}],"wp:attachment":[{"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/media?parent=2799"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb-category?post=2799"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.easyhost.be\/fr\/help\/wp-json\/wp\/v2\/ht-kb-tag?post=2799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}