mysql h2

h2 + mysql

喜夏-厌秋 提交于 2019-12-07 07:54:54
最近在做一个项目,由于出于各种考虑(如节省数据库空间,数据同步,便于操作...),大都会在一些字段上采取保存关联ID的做法,页面展示的时候就会通过转换的方式,显示关联ID的名称。如部门,职位等。 如何通过ID得到相关的名称: ①通过连表查询的方式,这种方法相信大伙都不会认同的。 ②通过在启动时将部门,职位,这些要高频查询的的表信息加载到缓存中,每次通过查询缓存就能得到显示的名称。但个人觉得每次要在内存中遍历这次数据,而且这些部门表,职位表比较大,感觉也不是一个最佳的方式。 ③通过使用内存数据库,在启动时将mysql中的表加载在内存数据库中,查询的时候通过ID查询内存数据库,这比②少了在内存中遍历这个环节,虽然这会涉及连接内存数据库等开销,但感觉没必要再比较下去。 由于本项目只使用内存数据库的查询功能,且是适合windows平台部署,最终内存数据选择为:H2 。 最终: 如何整合h2到项目中呢:只要在项目中加入h2的开发jar包,就可以了,不需要h2的service端(若不是使用h2的内存模式,则要下载service端并进行启动相关服务)。 注意: ① To keep the database open, add ;DB_CLOSE_DELAY=-1 to the database URL. 为了让内存数据库一直开着,必须要在数据库地址后面加上 ;DB_CLOSE_DELAY=-1