¿Diferencia entre InnoDB y MyISAM? [duplicar]

Posible duplicado:
MyISAM frente a InnoDB

Ok, leí esta información de Wikipedia e InnoDB parece mejor. Aquí está mi pregunta, ¿estaría bien usar InnoDB en lugar de MyISAM para seleccionar datos de usuario de la base de datos? O sería mejor quedarse con MyISAM para esto.

Y si cambiara a Inno, ¿PDO todavía funcionaría con él y algunas consultas de estilo antiguo?

$q = ("SELECT * ... );
$r = mysql_query($q);

preguntado el 16 de mayo de 11 a las 20:05

6 Respuestas

  • InnoDB usa bloqueo de fila, MyISAM usa bloqueo de tabla, por lo tanto ...
  • InnoDB es más lento cuando se trata de SELECT
  • InnoDB refuerza la integridad referencial (lo cual es muy bueno)
  • InnoDB permite transacciones

contestado el 17 de mayo de 11 a las 00:05

Una instrucción SELECT no causa un bloqueo de fila / tabla, ¿verdad? - alimack

Generalmente voy con InnoDB si mi tabla tendrá más actualizaciones / inserciones / eliminar declaraciones, luego selecciono declaraciones o quiero una base de datos relacional con claves externas, si no, me quedo con MyISAM. Si opta por InnoDB, renunciará al rendimiento de las declaraciones seleccionadas y a la capacidad de realizar índices de búsqueda de texto completo.

El motor de almacenamiento MyISAM.

El motor de almacenamiento InnoDB.

contestado el 17 de mayo de 11 a las 00:05

Vale la pena considerar si utilizará principalmente consultas SELECT o INSERT / UPDATE, ya que InnoDB admite el bloqueo de nivel de fila (mejor para insertar / actualizar), pero MyISAM usa bloqueo de nivel de tabla (más rápido si usa solo seleccionar ). Vea esto en el manual de referencia para obtener más información..

contestado el 17 de mayo de 11 a las 00:05

InnoDB vs. MyISAM no tendrá ninguna diferencia con la forma en que codifica sus declaraciones de selección. Lo que ayudará es permitir claves externas, lo que lo ayudará a mantener la integridad referencial en su base de datos y, si se configura correctamente, ayudará a garantizar que no se creen registros huérfanos.

Vea http://en.wikipedia.org/wiki/Foreign_key para más información.

contestado el 17 de mayo de 11 a las 00:05

La mayor ventaja de innodb sobre myisam es que innodb admite transacciones / reversiones. myisam proporcionará un mejor rendimiento en general, ya que no genera la misma sobrecarga. Para una tabla de usuario simple, lo mejor es seguir con myisam.

contestado el 17 de mayo de 11 a las 00:05

Estaría completamente bien usar InnoDB en lugar de MyISAM para seleccionar datos de usuario. PDO también funcionará con él y también lo harán mysql_query y mysqli_query. no tienen nada que ver con el tipo de tabla.

Pero tenga en cuenta que hay muchas configuraciones diferentes que debe comprender antes de comenzar a usarlo. si eres un desarrollador ocasional, te sugiero que te quedes con MyISAM

Respondido el 03 de junio de 11 a las 16:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.