连接模式定义
org.apache.shardingsphere.core.constant.ConnectionMode
public enum ConnectionMode {
MEMORY_STRICTLY, CONNECTION_STRICTLY
}
两种模式的差别
内存限制模式:对于同一数据源,如果有4张分表分别查询,那么执行时,会获取4个连接并行,每个连接执行1个查询语句;
连接限制模式:对于同一数据源,如果有4张分表分别查询,那么执行时,最多获取max.connections.size.per.query(max.connections.size.per.query默认值1)个连接并行,此时4个查询语句串行;如果max.connections.size.per.query设置成2,则分成2组,每个连接执行2个查询语句;
连接模式选择
org.apache.shardingsphere.core.execute.sql.prepare.SQLExecutePrepareTemplate#getSQLExecuteGroups
private List<ShardingExecuteGroup<StatementExecuteUnit>> getSQLExecuteGroups(
final String dataSourceName, final List<SQLUnit> sqlUnits, final SQLExecutePrepareCallback callback) throws SQLException {
List<Sha

Shardingsphere提供了内存限制模式和连接限制模式两种连接方式。内存限制模式下,对于多张分表的查询,会按分表数量获取相应连接并行执行,而连接限制模式则依据`max.connections.size.per.query`参数限制并发连接数,超过限制的查询将串行执行。选择模式主要考虑数据库连接和内存开销的平衡,通过调整`max.connections.size.per.query`配置来优化性能。
最低0.47元/天 解锁文章
359





