ORMLite 的 MySQL 驱动程序默认使用 InnoDB 表。该文档描述了如何将其配置为使用其他表类型,但没有描述这样做的后果。最近在使用 InnoDB 时遇到了不好的经历,我想迁移到 MyISAM,但只是想检查一下 ORMLite 的所有功能是否会继续正常工作,因为我知道 MyISAM 缺少 InnoDB 支持的一些功能。有人有这方面的经验吗?有什么潜伏的问题吗?
(FWIW,我知道我的应用程序没有任何特殊的事务需求,这是一个明显会失败的功能)
抱歉,我不知道从 ORM 的角度来看之间InnoDB
的区别。MyISAM
我希望ORMLite不会受到任何影响。表的类型是 MySQL 内部指定的,可能会影响性能或查询行为。
这是我将在这里总结 的两种类型之间差异的一个很好的表格。
我在此列表中看到的唯一影响查询级别的是MyISAM
不支持外键或约束,但 ORMLite(截至 2013 年 3 月)也不支持它们。 MyISAM
不支持事务,但您可以在没有它们的情况下进行 ORMLite 调用。
在我的脑海中,我在这个列表中看不到任何会影响 ORM 的东西。也就是说,测试将是一个好主意。:-)