云数据库 MySQL Hint 语法使用

在数据库代理上如何使用 Hint 语法。使用 Hint 语法可以强制 SQL 请求在指定的实例上执行,Hint 的路由优先级最高,例如,Hint 不受一致性、事务的约束,使用前请合理评估业务场景是否需要。

相关产品
云数据库 MySQL 产品页,含版本规格、价格与购买入口。

注意:例如(通过内网建立连接时):为 mysql -h hostname -u username -p -c。

目前支持四种 Hint:

·指定到主实例执行:

— Hint语句/* to master */或/*FORCE_MASTER*/

— 示例– 强制在主实例上执行查询SELECT /* to master */ * FROM users WHERE user_id = 1;– 强制在主实例上执行更新UPDATE /* FORCE_MASTER */ orders SET status = 'shipped' WHERE order_id = 1001;

·指定到只读实例执行:

— Hint语句/* to slave */或/*FORCE_SLAVE*/

— 示例– 强制在只读实例执行查询SELECT /* to slave */ * FROM products WHERE category = 'electronics';– 强制在只读实例执行计数查询SELECT /* FORCE_SLAVE */ COUNT(*) FROM transactions WHERE status = 'completed';

·指定到只读分析引擎执行:

注意:只有数据库代理版本为1.4.4及以上的版本才支持此执行方式。如果存在多个只读分析引擎,则将基于权重规则负载均衡。

— 强制在只读分析引擎执行查询 SELECT /* to ap */ * FROM products WHERE category = 'electronics';

·指定某个具体实例执行:

— Hint语句/* to server server_name */

— 示例– 强制在特定实例 test_ro_1 上执行查询SELECT /* to server test_ro_1 */ * FROM inventory WHERE product_id = 2002;

注意:说明:

注意:上述语句中的 server_name 为实例 ID,你可以在实例详情页获取目标实例的实例 ID。

注意:

赞 (0)
上一篇 4天前
下一篇 4天前