文档首页/ 云数据库 GaussDB(for MySQL)/ 用户指南/ 数据库代理(读写分离)/ 使用Hint语法实现GaussDB(for MySQL)读写分离
更新时间:2024-11-06 GMT+08:00

使用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*/也不会路由到主节点。