一个项目可以配置多少个数据源,不影响性能?

假设一个系统供多个单位使用,但每个单位有独立的数据库。

我可以配置每个单位用户对应一个数据库即dbName,在用户访问时就根据dbName连接他所在单位的数据库。

问题:

1、配置多个数据源的时候会不会影响系统性能?上限几个?

2、数据源可以动态配置吗?

评论区

JFinal

2019-08-16 08:26

与性能有关的因素极多,数据源仅仅是其中一个而已

如果你的第个数据源都很快,性能影响可以忽略不计,我就见过有人使用 jfinal 开发的项目用到了上千个数据源

数据源个数无上限

数据源可以动态配置,你只需要手动 new DruidPlugin(), 再手动 new ActiveRecord(...), 再手动 start() 启动这两个组件, 不用的时候 stop() 这两个组件即可,参考这一章的内容:
https://www.jfinal.com/doc/5-15

周中中

2019-08-16 10:34

@JFinal 谢谢,波总

周中中

2019-08-16 11:22

@JFinal 假设我配置了十个数据源,start()后,我可以不stop()吗?这样会对性能有影响吗?因为我总不能每用一次都start()再stop吧!另外如果我想有一个界面可以查看这十个数据源是不是start状态,jfinal里怎么获取这个状态?

JFinal

2019-08-16 12:01

@周中中 用了以后不用 stop(), 只有在你确定某个数据源不使用的时候才去 stop()

可以通过 DbKit.getConfigSet() 获取所有 Config 对象,Config 对象中持有数据源,可以通过 Config.getDataSource() 进一步获取

gwc

2019-09-14 16:17

@JFinal 波总,如果在任何 地方想关闭一个数据源的时候,如何获得插件对象呢?