oceanbaes 4.2.5版本
测试环境 3observer(全功能副本)+3obproxy
- 目前我只想让研发部分sql通过使用hint的方式来进行弱读,并不想修改obproxy参数来全局设置,如何实现呢?
有的文章说如果实现弱读必须,先修改obproxy参数(alter proxyconfig set proxy_route_policy=“follower_first”;)设置为优先度,然后才能使用hint的方式弱读?对这里我有些疑惑,即然obproxy参数都全局开启了,还需要sql指定hint吗?怎么确认一个sql的弱读生效了呢?我通过explain route没有发现弱读的信息呢?
explain route select /*+ read_consistency(weak) / metric_id,app_id from app_metrics where app_id like “d%” limit 5;
±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Route Plan |
±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
Trans Current Query:"explain route select /+ read_consistency(weak) */ metric_id,app_id from app_metrics where app_id like “d%” limit 5"
Route Prompts
ROUTE_INFO
[INFO] Will do table partition location lookup to decide which OBServer to route to
PARTITION_ID_CALC_DONE
[WARN] Fail to use partition key value to calculate first part idx
Route Plan
SQL_PARSE:{cmd:“OB_MYSQL_COM_QUERY”, table:“app_metrics”}
ROUTE_INFO:{route_info_type:“USE_PARTITION_LOCATION_LOOKUP”, route_policy:“MERGE_IDC_ORDER”}
LOCATION_CACHE_LOOKUP:{mode:“oceanbase”}
TABLE_ENTRY_LOOKUP_DONE:{table:“app_metrics”, table_id:“500051”, table_type:“USER TABLE”, partition_num:6, entry_from_remote:false}
PARTITION_ID_CALC_START:{}
EXPR_PARSE:{col_val:“there are no part keys”}
RESOLVE_EXPR:{part_range:"(MIN ; MAX)always true"}
CALC_PARTITION_ID:{error:-4002, part_description:“partition by key(VARCHAR<utf8mb4_general_ci>) partitions 6”}
PARTITION_ID_CALC_DONE:{error:-4002, partition_id:-1, level:1}
ROUTE_INFO:{route_info_type:“USE_CACHED_SESSION”, svr_addr:“10.0.2.110:2881”}
ROUTE_POLICY:{route_policy:"", chosen_server:“Invalid”}
CONGESTION_CONTROL:{svr_addr:“10.0.2.110:2881”}



