java - Java Spring 中不同的 MySQL 引擎

标签 java mysql spring hibernate innodb

我正在使用 Spring 框架来开发 Web 应用程序,并使用 Hibernate 来支持持久层。我已经知道我可以使用以下代码自定义自己的方言:

public class MySQL5Dialect extends MySQL5InnoDBDialect {

    @Override
    public String getTableTypeString() {
        return " ENGINE=InnoDB DEFAULT CHARSET=utf8";
    }
}

但这适用于所有表。现在我有不同的表和不同的 MySQL 存储引擎。例如,一个表使用 InnoDB,另一个表使用 MyISAM。我该如何实现这个目标?提前致谢。

最佳答案

我觉得有必要通过后退一步并质疑前提来回答一些问题。

前提是你要使用不同的引擎?响应是——仅使用 InnoDB。

你的计数器是——但是MyISAM不是更快吗?

答案是——这是一个老太太的故事。 的应用程序(无论它是什么)在所有 InnoDB 上的运行速度很可能比在任何 MyISAM 上运行更快

关于java - Java Spring 中不同的 MySQL 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43759257/

相关文章:

php - PDO 'UPDATE' 带参数的语句不起作用

java - 将 JTextArea 更改为 JScrollPane 导致它不可见

java - "Invalid escape sequence (valid ones are\b\t\n\f\r\"\'\\)"语法错误

java - log4j: 错误 setFile(null,false) 调用失败

php - 从登录创建 session 后,避免 php 中的 header 冲突?

mysql - 如何在MYSQL用户定义函数中通过另一个字符串变量引用局部变量名?

java - 特定HQL查询( hibernate )的连接错误预期路径

java - Spring boot 1.5.2.RELEASE 在静态方法中访问 application.yml 属性

java - Oracle PreparedStatement - 一些开发人员的 NullPointerException,但不是全部

Java Android xPath html 解析