更新时间:2025-04-09 gmt 08:00
设置multi-j9九游会登录
使用场景
当通过数据库代理执行时,可以根据业务场景选择不同的处理模式。
模式描述
- strict模式(默认):该模式下,multi-statements会发往主节点,当前连接的后续请求读写分离失效,会全部路由到主节点,需断开当前连接并重新连接才能恢复读写分离。该模式不会解析multi-statements,性能好,适合短连接、无连接复用场景。
- loose模式:该模式下,multi-statements会发往主节点,当前连接的后续请求依旧可以读写分离。该模式不会解析multi-statements,性能好,适合multi-statements内仅含dml sql,不含设置session变量、创建临时表、创建存储过程、执行未提交事务等操作的场景。
- parse模式:该模式下,只读multi-statements会根据权重路由,读写混合multi-statements会发往主节点,同时数据库代理会解析multi-statements,根据multi-statements内包含的sql情况(具体见parse模式场景说明),决定当前连接的后续请求是否恢复读写分离,由于该模式会解析multi-statements,对代理性能有一定影响,影响程度与multi-statements的长度和复杂性相关,建议multi-statements小于100mb,避免数据库代理解析sql消耗过多的资源,引起性能明显下降。
parse模式场景说明
当multi-statements包含如下场景时,后续请求会全部路由到主节点,需断开当前连接并重新连接才能恢复读写分离。
- multi-statements内创建临时表。
- multi-statements内创建存储过程。
- multi-statements内含未提交的事务(如执行了begin,但未commit或rollback)。
- multi-statements过于复杂或含特殊语法等导致multi-statements解析失败。
更改multi-statements模式立即生效,无需重启数据库代理。但如果模式切换前存在因为执行了multi-statements导致读写分离失效的连接,不会因为切换模式而恢复读写分离,需要断开重连才能恢复。
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨