Una de las razones mayores por la cual los sitios WordPress a gran escala van más lento es que no se ha optimizado la base de datos. Muchos sitios antiguos todavía usan el motor de almacenamiento MyISAM en su base de datos. En los últimos años InnoDB ha demostrado ser más eficaz y más confiable. Una razón para usar InnoDB en lugar de MyISAM, es la falta del bloqueo a nivel de tabla completo (full table-level locking). Esto permite un proceso de consultas más rápido.
- InnoDB vs MyISAM
- Usted Utiliza MyISAM o InnoDB??
- Convertir MyISAM en InnoDB con phpMyAdmin
- Convertir MyISAM en InnoDB con WP-CLI
InnoDB vs MyISAM
Aquí están la mayores diferencias entre InnoDB y MyISAM:
-
-
- InnoDB tiene bloqueo a nivel de renglón (row-level locking). MyISAM sólo tiene bloqueo a nivel de tabla completo.
- InnoDB tiene la que llaman integridad referencial que se trata de soportar claves externas (RDBMS) y restricciones, MyISAM no lo hace (DMBS).
- InnoDB soporta transacciones, lo que significa que se puede guardar y deshacer. Con MyISAM no se puede.
- InnoDB es más confiable al hacer registros transaccionales. MyISAM no lo es.
-
Usted Utiliza MyISAM o InnoDB?
Si estás ejecutando un sitio WordPress bastante nuevo, es posible que usas el motor de almacenamiento InnoDB MySQL. Pero en caso de sitios WordPress más antiguos podrías hacer un chequeo rápido. Algunos sitios pueden tener tablas MyISAM y InnoDB mezcladas y combinadas en las cuales se puede ver las mejoras, convirtiéndolas por todas partes. Siga los pasos abajo para comprobar.
Paso 1
Acceda a phpMyAdmin y haga clic en su base de datos mySQL.
Paso 2
Realice un análisis rápido en la columna «Type» y se puede ver cuál es el Motor de Almacenamiento que sus tablas están usando. En este ejemplo abajo se puede ver las dos tablas que todavía utilizan MyISAM.
Como alternativa, se puede ejecutar una consulta para ver si existe cualquier tabla MyISAM. Sustituya ‘database’ con el nombre de su base de datos.
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'
Convertir MyISAM en InnoDB con phpMyAdmin
Se puede convertir MyISAM en InnoDB bastante fácilmente. En este ejemplo abajo se usan la tabla wp_comments. Simplemente ejecute el comando ALTER para convertirlo en motor de almacenamiento InnoDB. Nota: Antes de realizar cualquier tipo de operaciones en su base de datos MySQL, siempre recomendamos hacer un backup sobre ello.
ALTER TABLE wp_comments ENGINE=InnoDB;
Como alternativa, también se puede convertirlos manualmente con phpMyAdmin. Simplemente haga clic en la tabla MyISAM, pulse la pestaña «Operations», y cambie el motor de almacenamiento (storage engine).
Convertir MyISAM en InnoDB con WP-CLI
WP-CLI es una herramienta de comando para desarrolladores para administrar tareas comunes (y menos comunes) de una instalación WordPress. Consulte este artículo sobre la conversión de MyISAM en InnoDB con WP-CLI.