{"id":3081,"date":"2020-05-21T10:55:05","date_gmt":"2020-05-21T09:55:05","guid":{"rendered":"https:\/\/www.lucushost.com\/blog\/?p=3081"},"modified":"2021-05-26T13:19:56","modified_gmt":"2021-05-26T12:19:56","slug":"convertir-tablas-innodb-a-barracuda","status":"publish","type":"post","link":"https:\/\/www.lucushost.com\/blog\/convertir-tablas-innodb-a-barracuda\/","title":{"rendered":"C\u00f3mo convertir tablas InnoDB a Barracuda"},"content":{"rendered":"<p>Si est\u00e1s empezando con tu web, s\u00e9 que hablar de hacer cambios en la base de datos puede parecer de todo menos f\u00e1cil, pero hay veces que son necesarios para mejorar el rendimiento de nuestra aplicaci\u00f3n. \u00bfUn caso muy habitual? <strong>Convertir tablas InnoDB a Barracuda<\/strong>. Es un cambio bastante sencillo y que te permitir\u00e1 optimizar y mejorar el rendimiento web, sobre todo si se trata de un sitio muy grande.<\/p>\n<p><!--more--><\/p>\n<p>Si trabajas con <strong><a href=\"https:\/\/www.lucushost.com\/blog\/que-es-moodle\/\">Moodle<\/a><\/strong>, habr\u00e1s visto en m\u00e1s de una ocasi\u00f3n que la propia aplicaci\u00f3n te sugiere realizar un cambio en el formato de las tablas de la base de datos, de <strong>Antelope a Barracuda<\/strong>. Realmente es una modificaci\u00f3n bastante sencilla, pero que a veces evitamos hacer por no tener informaci\u00f3n suficiente o miedo a que algo salga mal.<\/p>\n<p>As\u00ed que hoy vamos a ponerle remedio a esto. A continuaci\u00f3n te explico qu\u00e9 son las tablas InnoDB, por qu\u00e9 es recomendable hacer el<strong> cambio de Antelope a Barracuda<\/strong> y c\u00f3mo realizar este proceso manualmente y autom\u00e1ticamente, ejecutando un script.<\/p>\n<p>\u00bfNos ponemos con ello?<\/p>\n<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Tabla de contenidos:<\/p><ul class=\"toc_list\"><li><a href=\"#Que_son_las_tablas_InnoDB\">\u00bfQu\u00e9 son las tablas InnoDB?<\/a><ul><li><a href=\"#Formatos_de_las_tablas_InnoDB\">Formatos de las tablas InnoDB<\/a><\/li><\/ul><\/li><li><a href=\"#Pero_por_que_es_tan_importante_hacer_el_cambio_de_Antelope_a_Barracuda_en_Moodle\">Pero, \u00bfpor qu\u00e9 es tan importante hacer el cambio de Antelope a Barracuda en Moodle?<\/a><\/li><li><a href=\"#Como_convertir_tablas_InnoDB_a_Barracuda\">C\u00f3mo convertir tablas InnoDB a Barracuda<\/a><ul><li><a href=\"#1_Realiza_una_copia_de_seguridad\">1. Realiza una copia de seguridad<\/a><\/li><li><a href=\"#2_Comprueba_que_formato_de_tablas_estas_utilizando\">2. Comprueba qu\u00e9 formato de tablas est\u00e1s utilizando<\/a><\/li><li><a href=\"#3_Convierte_las_tablas_InnoDB_a_Barracuda\">3. Convierte las tablas InnoDB a Barracuda<\/a><ul><li><a href=\"#31_Como_convertir_tablas_InnoDB_a_Barracuda_de_forma_manual\">3.1. C\u00f3mo convertir tablas InnoDB a Barracuda de forma manual<\/a><\/li><li><a href=\"#32_Como_convertir_tablas_InnoDB_a_Barracuda_mediante_un_script\">3.2. C\u00f3mo convertir tablas InnoDB a Barracuda mediante un script.<\/a><\/li><\/ul><\/li><\/ul><\/li><li><a href=\"#Conclusion\">Conclusi\u00f3n<\/a><\/li><\/ul><\/div>\n\n<h2><span id=\"Que_son_las_tablas_InnoDB\">\u00bfQu\u00e9 son las tablas InnoDB?<\/span><\/h2>\n<p>InnoDB es un <strong>mecanismo de almacenamiento de datos<\/strong> (<i>storage-engine<\/i>) transaccional y con capacidades de confirmaci\u00f3n (<i>commit<\/i>), cancelaci\u00f3n (<i>rollback<\/i>) y recuperaci\u00f3n de fallos. Adem\u00e1s tiene soporte de claves for\u00e1neas, esto quiere decir que InnoDB permite relacionar tablas de forma dentro de la base de datos, eliminando inconsistencias de forma autom\u00e1tica.<\/p>\n<p>Las <strong>tablas InnoDB<\/strong> fueron dise\u00f1adas para obtener m\u00e1ximo rendimiento en aplicaciones que mueven un gran volumen de datos. De hecho, es el tipo de tablas que utilizan algunos <strong><a href=\"https:\/\/www.lucushost.com\/blog\/gestor-de-contenidos\/\">gestores de contenido<\/a><\/strong> como Joomla, PrestaShop o Moodle.<\/p>\n<h3><span id=\"Formatos_de_las_tablas_InnoDB\">Formatos de las tablas InnoDB<\/span><\/h3>\n<p>El formato que utilizan las tablas determinan c\u00f3mo se almacenan los datos, por tanto, <strong>influyen en el rendimiento de las consultas u operaciones que ejecutemos<\/strong>, y por tanto, de la p\u00e1gina web o la aplicaci\u00f3n.<\/p>\n<p>En las tablas InnoDB podemos diferenciar estos dos formatos:<\/p>\n<ul>\n<li><strong>Antelope:<\/strong> es el formato original de las tablas InnoDB y admite formatos de fila COMPACT y REDUNDANT.<\/li>\n<li><strong>Barracuda:<\/strong> es el formato m\u00e1s nuevo. Adem\u00e1s de admitir los formatos de fila de Antelope (COMPACT y REDUNDANT), tambi\u00e9n soporta COMPRESSED y DYNAMIC, es decir, formatos de fila comprimidas y un almacenamiento m\u00e1s eficiente.<\/li>\n<\/ul>\n<p>Aqu\u00ed te dejo una tabla resumen con las principales caracter\u00edsticas de cada formato:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3276\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/formato-tablas-innodb-antelope-barracuda.png\" alt=\"Caracter\u00edsticas del formato de tablas InnoDB: Antelope y Barracuda \" width=\"633\" height=\"292\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/formato-tablas-innodb-antelope-barracuda.png 633w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/formato-tablas-innodb-antelope-barracuda-300x138.png 300w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/p>\n<p>Debido a la mejora que implica utilizar el formato Barracuda en las tablas InnoDB, muchas aplicaciones recomiendan su uso. Por ejemplo, <strong>en Moodle es casi imprescindible realizar el cambio de Antelope a Barracuda<\/strong> si tienes una web que est\u00e1 creciendo o en la que tienes muchos plugins.<\/p>\n<h2><span id=\"Pero_por_que_es_tan_importante_hacer_el_cambio_de_Antelope_a_Barracuda_en_Moodle\">Pero, \u00bfpor qu\u00e9 es tan importante hacer el cambio de Antelope a Barracuda en Moodle?<\/span><\/h2>\n<p>Las \u00faltimas versiones de <strong>Moodle<\/strong> sugieren realizar el<strong> cambio de formato de las tablas Antelope a Barracuda<\/strong>. La raz\u00f3n principal por la que recomiendan hacer esta modificaci\u00f3n es que las tablas con formato Antelope no soportan m\u00e1s de 10 columnas de texto y existen plugins que requieren m\u00e1s columnas de texto, pudiendo generar errores que afectan al funcionamiento normal de tu p\u00e1gina web.<\/p>\n<p>\u00bfTrabajas con Moodle? Entonces es probable que hayas visto en tu aplicaci\u00f3n un aviso que dice lo siguiente:<\/p>\n<p><i>Your database has tables using Antelope as the file format. You are recommended to convert the tables to the Barracuda file format. See the documentation Administration via command line for details of a tool for converting InnoDB tables to Barracuda.<\/i><\/p>\n<p>Otra de las razones de peso para realizar el cambio de formato y convertir las tablas Antelope a Barracuda es el<strong> rendimiento y optimizaci\u00f3n web.<\/strong><\/p>\n<p>Barracuda es el formato de archivo m\u00e1s nuevo y la principal ventaja que porta respecto a Antelope es la<strong> compresi\u00f3n de datos<\/strong>. Barracuda admite todos los formatos de fila (incluidos los formatos comprimidos y din\u00e1micos), ayudando a reducir los requerimientos de CPU y disco del servidor, obteniendo as\u00ed unos mejores resultados.<\/p>\n<h2><span id=\"Como_convertir_tablas_InnoDB_a_Barracuda\">C\u00f3mo convertir tablas InnoDB a Barracuda<\/span><\/h2>\n<p>Como hemos visto, una de las aplicaciones m\u00e1s utilizadas y en las que se recomienda<strong> convertir tablas InnoDB a Barracuda es Moodle<\/strong>. No obstante, este cambio se hace exactamente de la misma forma en Moodle o cualquier otra aplicaci\u00f3n con la que est\u00e1s trabajando.<\/p>\n<p>\u00bfVemos c\u00f3mo se hace?<\/p>\n<h3><span id=\"1_Realiza_una_copia_de_seguridad\">1. Realiza una copia de seguridad<\/span><\/h3>\n<p>Es algo que recomiendo siempre. Si vas a hacer cualquier cambio en tu web, por peque\u00f1o que sea, aseg\u00farate de tener una <strong><a href=\"https:\/\/www.lucushost.com\/blog\/que-es-un-backup-y-como-hacer-una-copia-de-seguridad-de-tu-web\/\">copia de seguridad<\/a><\/strong> de tu cuenta.<\/p>\n<p>Si tienes un <strong><a href=\"\/hosting-moodle\">Hosting Moodle<\/a><\/strong> o utilizas cualquier otro servicio de alojamiento con nosotros como, por ejemplo, <strong><a href=\"\/hosting-ssd\">Hosting SSD<\/a><\/strong> o <strong><a href=\"\/hosting-elastico\">Hosting el\u00e1stico<\/a><\/strong>, recuerda que desde tu \u00e1rea de cliente tienes acceso a <strong><a href=\"https:\/\/www.lucushost.com\/ayuda\/premium-backup-gestionar-copias-de-seguridad\/\">Premium Backup<\/a><\/strong>. Una herramienta desarrollada por nosotros que realiza dos copias de seguridad al d\u00eda y que te da la opci\u00f3n de restaurar toda tu cuenta, una aplicaci\u00f3n, una base de datos o incluso o una cuenta de correo en solo un par de clics. As\u00ed, te aseguras de que todo tu trabajo est\u00e1 siempre a salvo \ud83d\ude42<br \/>\n<a href=\"\/\/aff.lucushost.com\/resources\/click\/?n=hsFV9LEQ&amp;aff=104&amp;landing=hosting-moodle\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"\/\/aff.lucushost.com\/resources\/banners\/?zoneid=5268&amp;n=hsFV9LEQ&amp;aff=104\" alt=\"Hosting Moodle\" border=\"0\" title=\"\"><\/a><\/p>\n<h3><span id=\"2_Comprueba_que_formato_de_tablas_estas_utilizando\">2. Comprueba qu\u00e9 formato de tablas est\u00e1s utilizando<\/span><\/h3>\n<p>Para evitar realizar cambios innecesarios, lo mejor es que primero <strong>compruebes qu\u00e9 formato de tablas est\u00e1s utilizando<\/strong>. Puede ser que, si est\u00e1s alojado en un servidor con las versiones m\u00e1s recientes, tu aplicaci\u00f3n ya est\u00e9 trabajando con el formato Barracuda.<\/p>\n<p>La comprobaci\u00f3n es muy simple, simplemente tienes que seguir estos pasos:<\/p>\n<ol>\n<li>Accede al panel de control de tu alojamiento. Si necesitas ayuda o recuerdas los datos de acceso, este post puede ayudarte: <strong><a href=\"https:\/\/www.lucushost.com\/blog\/como-entrar-al-cpanel-de-mi-dominio\/\">C\u00f3mo entrar a cPanel.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1164\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2018\/11\/como-entrar-al-cpanel-de-mi-dominio-pantalla-de-acceso.png\" alt=\"Pantalla de acceso a cPanel\" width=\"757\" height=\"439\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2018\/11\/como-entrar-al-cpanel-de-mi-dominio-pantalla-de-acceso.png 757w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2018\/11\/como-entrar-al-cpanel-de-mi-dominio-pantalla-de-acceso-300x174.png 300w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2018\/11\/como-entrar-al-cpanel-de-mi-dominio-pantalla-de-acceso-700x406.png 700w\" sizes=\"(max-width: 757px) 100vw, 757px\" \/><\/a><\/strong><\/li>\n<li>Ahora ve a la secci\u00f3n \u00abBase de datos\u00bb, selecciona la opci\u00f3n \u00abphpMyAdmin\u00bb.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2853\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel.png\" alt=\"phpMyAdmin cPanel\" width=\"1352\" height=\"199\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel.png 1352w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel-300x44.png 300w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel-1024x151.png 1024w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel-768x113.png 768w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/phpmyadmin-cpanel-700x103.png 700w\" sizes=\"(max-width: 1352px) 100vw, 1352px\" \/><\/li>\n<li>En la pesta\u00f1a SQL ejecuta la siguiente consulta, incluyendo el nombre de tu base de datos.\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SHOW TABLE STATUS FROM NOMBRE_BASE_DE_DATOS WHERE engine='InnoDB'<\/pre>\n<\/li>\n<\/ol>\n<p>Con esta consulta ver\u00e1s un mont\u00f3n de informaci\u00f3n relacionada con tu base de datos. Para saber qu\u00e9 formato de tablas utiliza, f\u00edjate en los valores de la columna \u00abRow_format\u00bb.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3095\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/comprobar-formato-tablas-base-de-datos.png\" alt=\"Comprobar el formato de tablas de una base de datos\" width=\"688\" height=\"243\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/comprobar-formato-tablas-base-de-datos.png 688w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/comprobar-formato-tablas-base-de-datos-300x106.png 300w\" sizes=\"(max-width: 688px) 100vw, 688px\" \/><\/p>\n<p>Los valores<strong> COMPRESSED y DYNAMIC<\/strong> indican que ya est\u00e1s utilizando Barracuda, por lo que no necesitar\u00e1s hacer ninguna modificaci\u00f3n. En LucusHost es el formato que utilizamos por defecto, por lo que no tendr\u00e1s que preocuparte de hacer este cambio.<\/p>\n<p>En cambio, si los resultados arrojan el formato <strong>COMPACT o\u00a0 REDUNDANT<\/strong>, significa que trabajas con el formato Antelope. De ser as\u00ed, pasamos al siguiente punto para hacer la conversi\u00f3n de InnoDB a Barracuda.<\/p>\n<h3><span id=\"3_Convierte_las_tablas_InnoDB_a_Barracuda\">3. Convierte las tablas InnoDB a Barracuda<\/span><\/h3>\n<p>Para cambiar el formato de Antelope a Barracuda tienes dos opciones. Realizar el cambio de forma manual, tabla a tabla, o ejecutar un script que realice el cambio de forma masiva.<\/p>\n<h4><span id=\"31_Como_convertir_tablas_InnoDB_a_Barracuda_de_forma_manual\">3.1. C\u00f3mo convertir tablas InnoDB a Barracuda de forma manual<\/span><\/h4>\n<p>Hacer la conversi\u00f3n a Barracuda de forma manual es muy sencillo, aunque algo laborioso, sobre todo, si tienes muchas filas en la base de datos:<\/p>\n<ol>\n<li>Vuelve a \u00abphpMyAdmin\u00bb y selecciona la base de datos de tu aplicaci\u00f3n Moodle.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3097\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/seleccionar-base-de-datos-moodle.png\" alt=\"Seleccionar una base de datos en phpMyAdmin\" width=\"417\" height=\"199\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/seleccionar-base-de-datos-moodle.png 417w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/seleccionar-base-de-datos-moodle-300x143.png 300w\" sizes=\"(max-width: 417px) 100vw, 417px\" \/><\/li>\n<li>Ahora selecciona la tabla de la base de datos y, en la columna \u00abAcci\u00f3n\u00bb, selecciona la opci\u00f3n \u00abEstructura\u00bb. A continuaci\u00f3n se abrir\u00e1 una nueva pesta\u00f1a, ve al men\u00fa superior y selecciona \u00abOperaciones\u00bb.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3100\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/operar-tabla-base-de-datos.png\" alt=\"Operar sobre una tabla de la base de datos\" width=\"819\" height=\"222\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/operar-tabla-base-de-datos.png 819w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/operar-tabla-base-de-datos-300x81.png 300w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/operar-tabla-base-de-datos-768x208.png 768w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/operar-tabla-base-de-datos-700x190.png 700w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/li>\n<li>En la pesta\u00f1a \u00abOpciones de tabla\u00bb, ve a la \u00abRow format\u00bb y, en el desplegable, selecciona la opci\u00f3n \u00abCompressed\u00bb. Por \u00faltimo, pulsa en \u00abContinuar\u00bb para que se guarden los cambios.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3101\" src=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/convertir-tabla-innob-a-barracuda-1.png\" alt=\"Convertir tabla InnoDB a Barracuda\" width=\"617\" height=\"399\" title=\"\" srcset=\"https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/convertir-tabla-innob-a-barracuda-1.png 617w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/convertir-tabla-innob-a-barracuda-1-300x194.png 300w, https:\/\/www.lucushost.com\/blog\/wp-content\/uploads\/2020\/05\/convertir-tabla-innob-a-barracuda-1-400x260.png 400w\" sizes=\"(max-width: 617px) 100vw, 617px\" \/><\/li>\n<\/ol>\n<p><strong>Importante:<\/strong> Si no tienes la opci\u00f3n \u00abCompressed\u00bb o \u00abDynamic\u00bb es probable que tu proveedor de hosting o el servidor en el que est\u00e1s alojado no soporte el formato de tablas Barracuda. No obstante, te recomiendo que contactes directamente con ellos para puedan ofrecerte alguna soluci\u00f3n.<\/p>\n<p>Tambi\u00e9n puedes realizar esta misma acci\u00f3n <strong>ejecutando un comando para cada una de las tablas de tu base de datos<\/strong>. Para ello, accede desde \u00abphpMyadmin\u00bb a tu base de datos y, en la pesta\u00f1a \u00abSQL\u00bb lanza la siguiente petici\u00f3n:<\/p>\n<p><span class=\"lang:default decode:true crayon-inline\">ALTER TABLE NOMBRE_TABLA ROW_FORMAT=COMPRESSED<\/span><\/p>\n<p>Recuerda sustituir <strong>NOMBRE_TABLA<\/strong> por el nombre de la tabla de tu base de datos y darle a \u00abContinuar\u00bb para guardar los cambios.<\/p>\n<h4><span id=\"32_Como_convertir_tablas_InnoDB_a_Barracuda_mediante_un_script\">3.2. C\u00f3mo convertir tablas InnoDB a Barracuda mediante un script.<\/span><\/h4>\n<p>Otra forma de realizar el cambio en Moodle para<strong> convertir una tabla con formato Antelope en Barracuda<\/strong> es ejecutando un script. Realmente es mucho m\u00e1s c\u00f3modo que hacer el cambio tabla por tabla, sobre todo cuando tienes una base de datos muy grande.<\/p>\n<p>A continuaci\u00f3n te dejo el script que hemos creado y que es compatible con las versiones de PHP m\u00e1s recientes. Puedes subirlo a tu hosting desde el \u00abAdministrador de archivos de cPanel\u00bb y ejecutarlo escribiendo la URL en tu navegador web. Por ejemplo, <strong>https:\/\/www.tudominio.es\/script.php<\/strong><\/p>\n<p><strong>Importante<\/strong>: Recuerda sustituir los valores servidor, usario, contrase\u00f1a y nombre de la base de datos por los que corresponda en tu caso.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?php\r\n\r\n$servidor_db=\"localhost\";            \/\/ servidor de base de datos\r\n$usuario_db=\"USUARIO_BBDD\";         \/\/ usuario de conexi\u00f3n a la base de datos\r\n$password_db=\"CONTRASE\u00d1A\";         \/\/ contrase\u00f1a de acceso del usuario anterior\r\n$nombre_db=\"NOMBRE_BBDD\";         \/\/ nombre de la base de datos que queremos convertir a Barracuda\r\n\r\nconvert_tables();\r\n\r\nfunction connect()\r\n{\r\n    GLOBAL $servidor_db,$usuario_db,$password_db,$nombre_db;\r\n    if(function_exists('mysqli_connect'))\r\n    {\r\n        \/\/echo \"mysqli_query\".PHP_EOL;\r\n        $link = mysqli_connect($servidor_db, $usuario_db, $password_db) OR die('Error de conexi\u00f3n a la base de datos: ' . mysqli_error($link));\r\n        mysqli_select_db($link, $nombre_db) OR die('El usuario \"'.$usuario_db.'\" no tiene privilegios sobre la base de datos \"'.$nombre_db.'\".');\r\n        return $link;\r\n    }\r\n    elseif(function_exists('mysql_connect'))\r\n    {\r\n        \/\/echo \"mysql_query\".PHP_EOL;\r\n        $link = mysql_connect($servidor_db, $usuario_db, $password_db) OR die('Error de conexi\u00f3n a la base de datos: ' . mysql_error());\r\n        mysql_select_db($nombre_db,$link) OR die('El usuario \"'.$usuario_db.'\" no tiene privilegios sobre la base de datos \"'.$nombre_db.'\".');\r\n        return $link;\r\n    }\r\n    \r\n    die('Error de conexi\u00f3n a la base de datos');\r\n}\r\nfunction query($query,$link)\r\n{\r\n    $res=false;\r\n    if(function_exists('mysqli_query'))\r\n        $res = mysqli_query($link,$query);\r\n    elseif(function_exists('mysql_query'))\r\n        $res = mysql_query($query,$link);\r\n    return $res;\r\n}\r\nfunction query_fetch($query,$link)\r\n{\r\n    $res=query($query,$link);\r\n    $rows=array();\r\n    if($res)\r\n    {\r\n        if(function_exists('mysqli_fetch_array'))\r\n        {\r\n            while($row = mysqli_fetch_array($res))\r\n                $rows[]=$row;\r\n        }\r\n        elseif(function_exists('mysql_query'))\r\n        {\r\n            while($row = mysql_query($res))\r\n                $rows[]=$row;\r\n        }\r\n    }\r\n    return $rows;\r\n}\r\nfunction convert_tables()\r\n{\r\n    $link=connect();\r\n    $tables=query_fetch(\"SHOW TABLE STATUS\",$link);\r\n    foreach($tables as $table)\r\n    {\r\n        if($table['Engine']=='InnoDB')\r\n        {\r\n            if(in_array($table['Row_format'],array(\"Dynamic\",\"Compressed\")))\r\n                echo 'INFO: Tabla \"'.$table['Name'].'\" ya ten\u00eda formato Barracuda, por lo tanto la omitimos.';\r\n            else\r\n            {\r\n                if(query(\"ALTER TABLE \" . $table['Name'] . \" ROW_FORMAT=COMPRESSED\",$link))\r\n                    echo 'CONVERTIDA: Tabla \"'.$table['Name'].'\"';\r\n                else\r\n                    echo 'ERROR: Tabla \"'.$table['Name'].'\", no se ha podido asignar formato Barracuda, posiblemente el servidor no es compatible.';\r\n            }\r\n        }\r\n        else{\r\n            echo 'INFO: Tabla \"'.$table['Name'].'\" no es InnoDB, por lo tanto no aplicable a esta tabla y la omitimos.';\r\n        }\r\n        echo \"&lt;br&gt;\".PHP_EOL;\r\n    }\r\n}\r\n?&gt;<\/pre>\n<h2><span id=\"Conclusion\">Conclusi\u00f3n<\/span><\/h2>\n<p>Para mejorar el rendimiento y la optimizaci\u00f3n web, muchas aplicaciones recomiendan <strong>convertir las tablas InnoDB a Barracuda.<\/strong> Especialmente en Moodle, donde algunos plugins ya no son compatibles con las tablas Antelope y es necesario realizar este cambio s\u00ed o s\u00ed.<\/p>\n<p>Tienes dos formas de realizar este cambio; manualmente, seleccionando Barracuda para cada tabla de tu base de datos o ejecutando un script. \u00a1T\u00fa elige la que te sea m\u00e1s c\u00f3moda!<\/p>\n<p>\u00bfAlguna duda? \u00bfHas tenido problemas a la hora de realizar la conversi\u00f3n de InnoDB a Barracuda? D\u00e9jame un comentario e intento echarte una mano \ud83d\ude42 .<\/p>\n<p><a href=\"\/\/aff.lucushost.com\/resources\/click\/?n=hsFV9LEQ&amp;aff=104&amp;landing=hosting-moodle\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"\/\/aff.lucushost.com\/resources\/banners\/?zoneid=5268&amp;n=hsFV9LEQ&amp;aff=104\" alt=\"Hosting Moodle\" border=\"0\" title=\"\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si est\u00e1s empezando con tu web, s\u00e9 que hablar de hacer cambios en la base de datos puede parecer de todo menos f\u00e1cil, pero hay veces que son necesarios para mejorar el rendimiento de nuestra aplicaci\u00f3n. \u00bfUn caso muy habitual? Convertir tablas InnoDB a Barracuda. Es un cambio bastante sencillo y que te permitir\u00e1 optimizar y mejorar el rendimiento web, sobre todo si se trata de un sitio muy grande.<\/p>\n","protected":false},"author":3,"featured_media":3082,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[94],"_links":{"self":[{"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/posts\/3081"}],"collection":[{"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/comments?post=3081"}],"version-history":[{"count":26,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/posts\/3081\/revisions"}],"predecessor-version":[{"id":5025,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/posts\/3081\/revisions\/5025"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/media\/3082"}],"wp:attachment":[{"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/media?parent=3081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/categories?post=3081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucushost.com\/blog\/wp-json\/wp\/v2\/tags?post=3081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}