Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MYsql中使用多对多哪个DB引擎?_Mysql - Fatal编程技术网

在MYsql中使用多对多哪个DB引擎?

在MYsql中使用多对多哪个DB引擎?,mysql,Mysql,我有一个客户,中间,项目类型的数据库 客户可以购买许多项目,并且存储在中间表中,只有两列带有CuuleID和ItMID。 我目前正在为所有表使用myisam 建议将Innodb用于此结构中的中间表吗?Innodb支持级联删除,这在连接表中非常有用 级联删除只允许您的模式在其自身之后进行清理 如果您的连接表使用带有级联删除的外键约束,并且您删除了客户或项目记录,那么匹配的中间记录将被删除,这样它就不会成为孤立记录 我绝对推荐INNODB在这种情况下,我更喜欢INNODB,因为: InnoDB应该在

我有一个客户,中间,项目类型的数据库

客户可以购买许多项目,并且存储在中间表中,只有两列带有CuuleID和ItMID。

我目前正在为所有表使用myisam

建议将Innodb用于此结构中的中间表吗?

Innodb支持级联删除,这在连接表中非常有用

级联删除只允许您的模式在其自身之后进行清理

如果您的连接表使用带有级联删除的外键约束,并且您删除了客户或项目记录,那么匹配的中间记录将被删除,这样它就不会成为孤立记录


我绝对推荐INNODB

在这种情况下,我更喜欢INNODB,因为:

InnoDB应该在数据完整性优先的地方使用,因为它通过关系约束和事务的帮助来处理数据完整性。 在写密集型插入中,更新表的速度更快,因为它利用了行级锁定,并且只保留对正在插入或更新的同一行的更改

MyISAM更易于设计和创建,因此更适合初学者。 不用担心表之间的外部关系。 总体上比InnoDB更快,因为结构更简单,因此服务器资源成本更低。 全文索引。 特别适用于阅读密集型选择表

比较起来很简单。InnoDB更适合于需要频繁插入和更新的数据关键型情况。另一方面,MyISAM在不太依赖于数据完整性的应用程序中性能更好,而且大多只选择和显示数据


希望这能有所帮助。

Innodb让您定义酷炫的foregin键

在此基础上,您将拥有一些功能:

foregin键也可以根据数据进行删除/更新。 如果存在依赖项,foregin键可以拒绝删除/更新。 通常,使用foregin键需要提前决定:这些foregin键需要额外的代码限制-即,如果没有客户或项目,您可能无法插入中间