今天开发时偶尔发现从库的第一次SQL执行的速度很慢,所以就进行了一系列排查,后来发现是因为多数据源的情况下,从库都是采用懒加载的形式进行加载的,所以就会出现第一次执行SQL很慢的现象,可以从以下两点进行证明:
证明一
这是项目刚启动的时候,主库进行了初始化:
而当访问到从库时,第二个数据源才会进行初始化:
证明二
因为我是用Druid作数据库连接池,所以我可以用它的控制台查看数据源,当项目刚启动的时候,只有一个数据源:
而当访问到从库时,第二个数据库才会出现:
今天开发时偶尔发现从库的第一次SQL执行的速度很慢,所以就进行了一系列排查,后来发现是因为多数据源的情况下,从库都是采用懒加载的形式进行加载的,所以就会出现第一次执行SQL很慢的现象,可以从以下两点进行证明:
这是项目刚启动的时候,主库进行了初始化:
而当访问到从库时,第二个数据源才会进行初始化:
因为我是用Druid作数据库连接池,所以我可以用它的控制台查看数据源,当项目刚启动的时候,只有一个数据源:
而当访问到从库时,第二个数据库才会出现:
本文标题:SpringBoot多数据源从库第一次执行SQL很慢的原因
本文链接:https://www.haomeiwen.com/subject/pauocqtx.html
网友评论