使用Hint语法实现GaussDB(for MySQL)读写分离
在读写分离权重分配体系之外,Hint可以作为另外一种SQL补充语法来指定相关SQL到主节点或只读节点执行。
本章节介绍如何使用Hint语法将读写请求路由到主节点或只读节点。
注意事项
- Hint注释仅作为路由建议,非只读SQL、事务中的场景不能强制路由到只读节点。
- 使用MySQL命令行进行连接并使用Hint语句时,需要在命令中增加-c选项,否则Hint会被MySQL命令行工具过滤。
使用方法
可以在SQL开头添加hint注释进行强制路由。
/*FORCE_MASTER*/强制路由到主节点;
/*FORCE_SLAVE*/强制路由到只读节点;
例如:select * from table1默认会路由到只读节点,如果改为/*FORCE_MASTER*/ select * from table1就会路由到主节点。
/*FORCE_MASTER*/只能在可读可写的地址上生效,对于只读地址即使使用//*FORCE_MASTER*/也不会路由到主节点。