La diferencia entre innodb y myisamInnoDBMyISAM usa MySQL. Las ventajas y desventajas de los dos tipos de mesa dependen de la aplicación específica. La diferencia básica es que el tipo MyISAM admite procesamiento avanzado, como el procesamiento de transacciones. El tipo InnoDB admite tablas de tipo MyISAM, enfatizando el rendimiento. Su tiempo de ejecución es más rápido que el tipo InnoDB. InnoDB proporciona soporte para transacciones. Tiene funciones avanzadas de base de datos como claves externas. Nueva versión de las extensiones de tabla MyIASMIASM: portabilidad de capa binaria, cambios de fila de índice de columna vacía menos fragmentados que las tablas ISAM, soporte para una mayor compresión de índice de archivos, distribución de estadísticas clave más rápida, auto_increment maneja algunos detalles. Diferencias de implementación específicas: 1. InnoDB admite índices de tipo de texto completo. 2.InnoDB guarda filas específicas en la tabla e indica que se ejecute select count(*). Escanee toda la tabla desde tableInnoDB para contar menos filas. MyISAM simplemente lee el número de filas guardadas, es decir, preste atención al recuento (*). Esta declaración contiene dos operaciones de tabla para la condición donde. 3. En un campo de tipo AUTO_INCREMENT, InnoDB debe contener el índice del campo. Una tabla MyISAM tiene un índice conjunto basado en sus campos. 4.BORRAR DE la tablaInnoDB vuelve a crear filas y filas de la tabla. 5. La operación LOAD TABLE desde el host InnoDB resuelve el problema primero. La tabla ODB se cambia a una tabla MyISAM para importar los datos, y luego la tabla InnoDB se cambia a una tabla que utiliza características adicionales de InnoDB (claves de excepción). Además, las filas de la tabla InnoDB están bloqueadas y se ejecutan declaraciones SQL. MySQL puede determinar el rango a escanear. Las tablas de InnoDB están bloqueadas con toda la tabla. Ejemplo Actualizar tabla establecida num = 1 donde un nombre como % AAA% Cualquier tabla es un comodín. Elegir el tipo de negocio correcto y el tipo de tabla correcto puede aprovechar al máximo las ventajas de rendimiento de MySQL. Prueba de rendimiento simple del motor MySQLMyISAM y del motor InnoDB [Configuración de hardware] CPU: AMD250 (1.8G) Memoria: 1G/disco duro moderno: 80G/IDE [Configuración de software] SO: Windows XP SP2 SE: PHP 5. 2. 1db: MySQL 5 . 37 Web: IIS 6 [estructura de tabla MySQL] Crear tabla ` MyISAM `( ` id ` int(108CREATE TABLE ` InnoDB `( ` id ` int(11)NOT NULL auto _ incremento, ` nombre ` varchar(100 ) DEFAULT NULL, ` content` text, PRIMARY KEY(` id `))ENGINE = InnoDB DEFAULT CHARSET = gbk [contenido de datos] $ nombre = "heiyeluren" $content = "MySQL admite múltiples motores de almacenamiento como el mismo tipo de tabla; Procesador El motor de almacenamiento MySQL incluye un motor de tablas seguras para transacciones para procesar tablas que no son seguras para transacciones. MyISAM administra tablas que no son seguras para proporcionar almacenamiento de alta velocidad y capacidades de búsqueda de texto completo. motor a menos que MySQL esté configurado de forma predeterminada. Utilice otro motor. El motor de almacenamiento Gore proporciona tablas en memoria y el motor de almacenamiento MyISAM maneja tablas no transaccionales. Ambos motores incluyen MySQL de forma predeterminada: el motor de almacenamiento en memoria determina el motor de montón InnoDB. El motor de almacenamiento BDB proporciona tablas seguras para transacciones. BDB incluye una versión binaria de MySQL-Max que es compatible con el sistema operativo. La distribución binaria InnoDB incluye MySQL 5.1 de forma predeterminada. tabla en la que se almacenan los datos o su motor de búsqueda.
El ejemplo de código fuente de MySQL demuestra cómo escribir un nuevo motor de almacenamiento con partes interesadas clave"; [insertar datos - 1] (Innodb_flush_log_at_Trx_commit = 1)myisam 1w:3/s Innodb 1w:219 /s myisam 1w:2092/s myisam 100 w: 287/s Innodb 100 w:no INNODB 1w:3/s myisam 1w:30/s INNODB 1w:29/s myisam 100 w:273/s INNODB 100 w:423 /s[Insertar datos 3](INNODB _ buffer _ pool _ tamaño = 1024m)INNODB 1w:3/s INNODB 10w:33 NO _ MOTOR _ SUSTITUCIÓN " max _ conexiones = 100 consulta _ caché _ tamaño = 0 tabla _ caché = 256 tmp _ tabla _ tamaño = 50M hilo _ caché _ tamaño = 8 myisam _ max _ sort _ file _ size = 100g myisam _ max _ extra _ sort _ file _ size = 100g myisam _ sort _ buffer _ size = 100m key _ buffer _ size = 82M read _ buffer _ el tamaño debe ser relacionado con la configuración del registro de actualización 0, y la eficiencia se puede mejorar significativamente. Además, escuché que configurar innodb_buffer_pool_size puede mejorar el rendimiento de innodb. Probé y no encontré ninguna mejora notable. Reemplazo de mi motor MyISAM con InnoDB Las ventajas de InnoDB en sí son mejores que el soporte de transacciones, procedimientos almacenados, vistas, bloqueos a nivel de fila, etc. Creo que el rendimiento de InnoDB es definitivamente mejor que el de MyISAM, y la configuración correspondiente de my.cnf es más crítica. Una buena configuración puede acelerar eficazmente la aplicación de aplicaciones web complejas. Las aplicaciones no críticas continúan considerando los detalles de MyISAM y las diferencias entre MySQL e InnoDBMyISAM.