{"id":1102,"date":"2016-01-23T15:11:32","date_gmt":"2016-01-23T14:11:32","guid":{"rendered":"http:\/\/www.bocciolesi.fr\/tutoriels-et-cours\/?p=1102"},"modified":"2017-02-24T13:54:05","modified_gmt":"2017-02-24T12:54:05","slug":"optimisation-du-serveur-mysql","status":"publish","type":"post","link":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/","title":{"rendered":"Tuning MySQL &#8211; Gestion et Optimisation de l&#8217;utilisation de la m\u00e9moire"},"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\/1102?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\/1102?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><p><span style=\"color: #3366ff;\"><strong>I\u25ba Dans cet article, nous allons voir comment MySQL g\u00e8re et\u00a0utilise\u00a0la m\u00e9moire :<\/strong><\/span><\/p>\n<p>Avant de comprendre comment MySQL g\u00e8re les allocations m\u00e9moires, faisons un bref petit rappel des diff\u00e9rences existantes entre les m\u00e9moires\u00a0<strong><span style=\"color: #3366ff;\">registres<\/span> <\/strong>| <strong><span style=\"color: #3366ff;\">buffers<\/span> <\/strong>| <strong><span style=\"color: #3366ff;\">caches<\/span> <\/strong>:<br \/>\nLes registres, buffers et caches sont tous les 3 des zones d&#8217;allocations en m\u00e9moire.<br \/>\nLeurs diff\u00e9rences se situent au niveau de leur gestion et de leur mani\u00e8re d&#8217;acc\u00e9der aux informations des ces zones.<\/p>\n<p><strong><span style=\"color: #3366ff;\">?<\/span> <\/strong>Les <strong><span style=\"color: #3366ff;\">registre<\/span><span style=\"color: #3366ff;\">s<\/span><\/strong>\u00a0(ou m\u00e9moire <strong><span style=\"color: #3366ff;\">tampon<\/span><\/strong>)\u00a0se situent directement dans le processeur et adressent directement les donn\u00e9es dans des zones que l&#8217;on pourrait comparer \u00e0 des boites plac\u00e9es exactement l\u00e0 ou elles doivent se trouver. Le registre est adapt\u00e9 aux calculs des demandes des processus.<\/p>\n<p><strong>?\u00a0<\/strong>Les\u00a0<span style=\"color: #3366ff;\"><strong>caches<\/strong><span style=\"color: #808080;\"> (ou<strong><span style=\"color: #3366ff;\"> ant\u00e9-m\u00e9moires<\/span>)\u00a0<\/strong><\/span><\/span>se situent dans le processeur et\/ou en m\u00e9moire vive mais la gestion des informations est g\u00e9r\u00e9e sous formes de tables de donn\u00e9es et les donn\u00e9es sont beaucoup plus rapidement accessible et sont permanentes. Le cache pourrait se comparer \u00e0 un buffer en RAM si ce n&#8217;est qu&#8217;il <span style=\"text-decoration: underline;\">conserve<\/span> les informations.<\/p>\n<p><strong>?\u00a0<\/strong>Les <strong><span style=\"color: #3366ff;\">buffers<\/span> <\/strong>se situent en RAM dans des files d&#8217;attente (exemple : la pile\u00a0<span style=\"color: #3366ff;\">FIFO<\/span> =&gt; First IN First OUT) que g\u00e8re l\u2019ordonnanceur du noyau du syst\u00e8me. Les donn\u00e9es sont stock\u00e9es de mani\u00e8re <span style=\"text-decoration: underline;\">temporaire<\/span>.<\/p>\n<p><strong style=\"color: #800080; line-height: 1.714285714; font-size: 1rem;\">&#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;<\/strong><\/p>\n<p><strong><span style=\"color: #800080;\">\u25ba Voyons maintenant comment MySQL g\u00e8re ses buffers et ses caches :<\/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;<\/strong><\/span><\/p>\n<p><span style=\"color: #3366ff;\"><strong>?\u00a0<\/strong><\/span>MySQL g\u00e8re de mani\u00e8re particuli\u00e8re la d\u00e9nomination de ses variables caches et buffers.<br \/>\nLe <strong><span style=\"color: #3366ff;\">key_buffer_size<\/span><\/strong>\u00a0par exemple des tables MyISAM (d\u00e9crit ci-dessous) est en fait une m\u00e9moire de type cache et non un buffer&#8230;<br \/>\nIl faudra donc veiller \u00e0 ne pas confondre les d\u00e9finitions g\u00e9n\u00e9rales et le vocabulaire propre \u00e0 MySQL<span style=\"color: #3366ff;\">\u00a0<strong>?<\/strong><\/span><\/p>\n<p>Voyons comment se font les allocations m\u00e9moire de MySQL :<\/p>\n<p><span style=\"color: #3366ff;\">Au d\u00e9marrage du serveur plusieurs allocations m\u00e9moires sont cr\u00e9es et utilis\u00e9es par la suite lors des connexions et requ\u00eates jou\u00e9es par les clients. Voici une liste des plus importants caches \u00a0:<\/span><\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Le cache d&#8217;index pour MyIsam ( le <\/span><strong style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\">key_buffer_size<\/span><\/strong><span style=\"line-height: 1.714285714; font-size: 1rem;\">)<\/span><\/li>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">le cache d&#8217;index pour innoDB ( le <\/span><strong style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\">innoDB_buffer_pool_size<\/span> <\/strong><span style=\"line-height: 1.714285714; font-size: 1rem;\">)<\/span><\/li>\n<\/ul>\n<p>Ces 2 caches m\u00e9moire sont les plus importants et les plus gourmands en ressources. Il g\u00e8re les index des tables des bases de donn\u00e9es.<br \/>\nOn peut voir la taille de ces caches grimper jusqu&#8217;\u00e0 plusieurs Go voire plusieurs dizaines de Go pour le buffer_pool innoDB !<\/p>\n<p>Il existe aussi un autre cache tr\u00e8s important \u00e0 personnaliser :\u00a0<span style=\"color: #3366ff;\"><strong>] query cache [<\/strong><\/span><br \/>\n<span style=\"line-height: 1.714285714; font-size: 1rem;\">Les requ\u00eates d\u00e9j\u00e0 jou\u00e9es sur le serveur sont stock\u00e9es dans ce cache.<br \/>\n<\/span><span style=\"line-height: 1.714285714; font-size: 1rem;\">Sa taille varie entre 128 et 256 Mo.<\/span><\/p>\n<p><span style=\"color: #3366ff;\">Chaque connexion au serveur cr\u00e9e un thread de connexion (allocation par threads). <\/span>Cette m\u00e9moire est allou\u00e9e et d\u00e9sallou\u00e9e dynamiquement en fonction des besoins des clients connect\u00e9s (threads). Lorsque la connexion se termine, soit le thread est d\u00e9truit et la m\u00e9moire lib\u00e9r\u00e9e, soit conserv\u00e9 si le cache le permet. Ceci \u00e9vite de recr\u00e9er un thread et acc\u00e9l\u00e8re le processus.<\/p>\n<p>MySQL g\u00e8re par lui m\u00eame des tables en m\u00e9moire ( <strong><span style=\"color: #3366ff;\">tables MEMORY\u00a0<\/span><\/strong>) =&gt; lors de tri par exemple.<br \/>\nLeur taille maximale est fix\u00e9 par la plus petite valeur entre<strong><span style=\"color: #3366ff;\"> ] tmp_table_size [\u00a0<\/span><\/strong>=&gt;\u00a0la taille des tables temporaires \u00a0et <strong><span style=\"color: #3366ff;\">]\u00a0max_heap_table_size [\u00a0<\/span><\/strong>=&gt;<strong> l<\/strong>a taille maximale des tables\u00a0Memory.<\/p>\n<p>MySQL stocke en m\u00e9moire les tables des droits et privil\u00e8ges des utilisateurs pour des raisons d&#8217;optimisation de performances lors de la lecture des requ\u00eates.<\/p>\n<p>MySQL g\u00e8re \u00e9galement des buffers utlilis\u00e9s par le sthreads clients lors des requ\u00eates.<br \/>\nExemple :<strong><span style=\"color: #3366ff;\"> ] s<\/span><span style=\"color: #3366ff;\">ort_buffer_size [<\/span> <\/strong>et<strong> <span style=\"color: #3366ff;\">]<\/span><\/strong><span style=\"color: #3366ff;\">\u00a0<strong>read_buffer_size [<\/strong><\/span><\/p>\n<p><span style=\"line-height: 1.714285714; font-size: 1rem;\">Voici un sch\u00e9ma illustrant l&#8217;utilisation de la m\u00e9moire par MySQL :<\/span><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture.jpg\"><span style=\"line-height: 1.714285714; font-size: 1rem;\"><i><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture.jpg\" alt=\"Capture\" width=\"715\" height=\"439\" \/><\/i><\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>? Investir dans la m\u00e9moire Vive peut \u00eatre une solution plus qu&#8217;int\u00e9ressante pour am\u00e9liorer les performances de votre serveur surtout si les requ\u00eates sont principalement des requ\u00eates en lecture car les acc\u00e8s solliciteront beaucoup plus la RAM que le disque. Qui plus est, le SWAPINESS sera fortement moins sollicit\u00e9..<\/p>\n<p>? Optimiser les performances d&#8217;un serveur sollicitant les acc\u00e8s en \u00e9criture se fera par l&#8217;acquisition de mat\u00e9riel DISQUE performant de type RAID | SSD ]Solid State Drive [ | cartes controleurs BBWC ] Battery Back Write Cache ]<\/p>\n<p>? L&#8217;outil mysqlreport permet d&#8217;analyser les ratio des lecture\/\u00e9criture du serveur MySQL.<\/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;<\/strong><\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>Le fichier de configuration du serveur MySQL est my.cnf | my.ini permet de personnaliser et de customiser le server MySQL &#8230;<\/strong><\/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;-<\/strong><\/span><\/p>\n<p>Pour optimiser le serveur MySQL, voici les directives les plus importantes \u00e0 param\u00e9trer<\/p>\n<p><strong><span style=\"color: #3366ff;\">?\u00a0max_connections (100)<\/span> :\u00a0<\/strong>limite le nombre de connexions simultan\u00e9es \u00e9tablies au serveur MySQL.<br \/>\nSi la variable @@max_user_connections est proche de @@max_connections, il vaut mieux l&#8217;augmenter. On peut \u00e9galement indiquer le nombre de connections autoris\u00e9s depuis Apache (MaxClients \/ httpd.conf)&#8230;<\/p>\n<p><strong style=\"line-height: 1.714285714; font-size: 1rem;\"><span style=\"color: #3366ff;\"><strong>?\u00a0<\/strong>key_buffer_size<\/span><\/strong><span style=\"color: #333333;\"> : est le c<\/span>ache pour les index des tables MySQL. L&#8217;id\u00e9al est 25% \u00e0 50% de la moyenne de m\u00e9moire disponible du serveur.<\/p>\n<p><strong><span style=\"color: #3366ff;\"><strong>?\u00a0<\/strong>thread_cache_size<\/span> :<\/strong>\u00a0d\u00e9termine le nombre maximal de processus ouverts simultan\u00e9ment par le service MySQL.<br \/>\nQuand une connexion au serveur MySQL se termine, le thread associ\u00e9 \u00e0 cette connexion est plac\u00e9 dans un cache afin de pouvoir \u00eatre r\u00e9utilis\u00e9, \u00e9vitant une op\u00e9ration de cr\u00e9ation d\u2019un nouveau thread.<br \/>\n<span style=\"line-height: 1.714285714; font-size: 1rem;\">La commande show status like &#8216;created_threads&#8217;; permettra d&#8217;ajuster cette directive.<\/span><\/p>\n<p><strong style=\"color: #3366ff;\"><strong>?\u00a0<\/strong>table_cache_size :\u00a0<\/strong><span style=\"color: #333333;\">stocke des informations sur les tables. Quand le serveur a besoin d\u2019utiliser une table, ce\u00a0cache\u00a0en\u00a0acc\u00e9l\u00e8re\u00a0l\u2019acc\u00e8s.<br \/>\nDepuis la version 5.1, le cache est divis\u00e9 en deux parties : <\/span><\/p>\n<ul>\n<li><span style=\"color: #333333; line-height: 1.714285714; font-size: 1rem;\">cache des tables ouvertes <strong><span style=\"color: #3366ff;\">(<span style=\"color: #800080;\">table_open_cache<\/span>)<\/span><\/strong><\/span><\/li>\n<li><span style=\"color: #333333; line-height: 1.714285714; font-size: 1rem;\">cache de d\u00e9finition de table (<span style=\"color: #800080;\"><strong>table_definition_<\/strong><\/span><span style=\"color: #800080;\"><strong>cache<\/strong><\/span>).<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #333333; font-size: 1rem; line-height: 1.714285714;\">Les directives<strong><span style=\"color: #3366ff;\"> open_tables<\/span><\/strong>\u00a0et\u00a0<strong><span style=\"color: #3366ff;\">opened_table<\/span><\/strong><span style=\"color: #3366ff;\">s<\/span>\u00a0permettent d&#8217;ajuster la valeur de\u00a0<span style=\"color: #800080;\"><strong>table_open_cache<\/strong><\/span><strong><br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: #333333; font-size: 1rem; line-height: 1.714285714;\"> Les directives <strong><span style=\"color: #3366ff;\">open_table_definitions<\/span><\/strong>\u00a0et <strong>o<span style=\"color: #3366ff;\">pened_table_definitions<\/span><\/strong> permettent d&#8217;ajuster la valeur de\u00a0<strong><span style=\"color: #800080;\">table_definition_cache<\/span><\/strong>.<\/span><\/p>\n<p><em>Michel BOCCIOLESI<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u25ba Dans cet article, nous allons voir comment MySQL g\u00e8re et\u00a0utilise\u00a0la m\u00e9moire : Avant de comprendre comment MySQL g\u00e8re les allocations m\u00e9moires, faisons un bref petit rappel des &#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-1102","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>Tuning MySQL - Gestion et Optimisation de l&#039;utilisation de la m\u00e9moire - 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\/optimisation-du-serveur-mysql\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuning MySQL - Gestion et Optimisation de l&#039;utilisation de la m\u00e9moire - Tutoriels et Cours\" \/>\n<meta property=\"og:description\" content=\"I\u25ba Dans cet article, nous allons voir comment MySQL g\u00e8re et\u00a0utilise\u00a0la m\u00e9moire : Avant de comprendre comment MySQL g\u00e8re les allocations m\u00e9moires, faisons un bref petit rappel des ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutoriels et Cours\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-23T14:11:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-02-24T12:54:05+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=\"5 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\/optimisation-du-serveur-mysql\/\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/\",\"name\":\"Tuning MySQL - Gestion et Optimisation de l'utilisation de la m\u00e9moire - Tutoriels et Cours\",\"isPartOf\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"datePublished\":\"2016-01-23T14:11:32+00:00\",\"dateModified\":\"2017-02-24T12:54:05+00:00\",\"author\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\"},\"breadcrumb\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#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\/optimisation-du-serveur-mysql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuning MySQL &#8211; Gestion et Optimisation de l&#8217;utilisation de la m\u00e9moire\"}]},{\"@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":"Tuning MySQL - Gestion et Optimisation de l'utilisation de la m\u00e9moire - 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\/optimisation-du-serveur-mysql\/","og_locale":"fr_FR","og_type":"article","og_title":"Tuning MySQL - Gestion et Optimisation de l'utilisation de la m\u00e9moire - Tutoriels et Cours","og_description":"I\u25ba Dans cet article, nous allons voir comment MySQL g\u00e8re et\u00a0utilise\u00a0la m\u00e9moire : Avant de comprendre comment MySQL g\u00e8re les allocations m\u00e9moires, faisons un bref petit rappel des ...","og_url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/","og_site_name":"Tutoriels et Cours","article_published_time":"2016-01-23T14:11:32+00:00","article_modified_time":"2017-02-24T12:54:05+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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/","name":"Tuning MySQL - Gestion et Optimisation de l'utilisation de la m\u00e9moire - Tutoriels et Cours","isPartOf":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#primaryimage"},"image":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#primaryimage"},"thumbnailUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","datePublished":"2016-01-23T14:11:32+00:00","dateModified":"2017-02-24T12:54:05+00:00","author":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe"},"breadcrumb":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/optimisation-du-serveur-mysql\/#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\/optimisation-du-serveur-mysql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/"},{"@type":"ListItem","position":2,"name":"Tuning MySQL &#8211; Gestion et Optimisation de l&#8217;utilisation de la m\u00e9moire"}]},{"@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\/1102","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=1102"}],"version-history":[{"count":28,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1102\/revisions"}],"predecessor-version":[{"id":1613,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1102\/revisions\/1613"}],"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=1102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/categories?post=1102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/tags?post=1102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}