OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Database Proxy

V4.4.1
  • What is ODP?
  • Installation and deployment
    • Overview
    • Deploy ODP by using obd
    • Deploy ODP by using OCP
    • Deploy ODP by using the CLI
    • Deployment modes
  • Basic operations
  • Configuration parameter
    • View and modify parameters
    • Parameter summary
    • Global parameters
      • automatic_match_work_thread
      • block_thread_num
      • cache_cleaner_clean_interval
      • check_tenant_locality_change
      • client_max_connections
      • client_max_memory_size
      • client_session_id_version
      • client_sock_option_flag_out
      • client_tcp_keepcnt
      • client_tcp_keepidle
      • client_tcp_keepintvl
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • cluster_expire_time
      • config_server_refresh_interval
      • congestion_fail_window
      • congestion_failure_threshold
      • congestion_retry_interval
      • connection_diagnosis_option
      • connection_pool_mode
      • connect_observer_max_retries
      • current_local_config_version
      • default_buffer_water_mark
      • default_inactivity_timeout
      • delay_exit_time
      • delay_update_entry_interval
      • detect_server_timeout
      • digest_sql_length
      • enable_abort_conn_info
      • enable_async_log
      • enable_async_pull_location_cache
      • enable_auto_restart
      • enable_bad_route_reject
      • enable_binlog_service
      • enable_cached_server
      • enable_causal_order_read
      • enable_client_connection_lru_disconnect
      • enable_client_ip_checkout
      • enable_cluster_checkout
      • enable_compression_protocol
      • enable_congestion
      • enable_connection_diagnosis
      • enable_cpu_isolate
      • enable_cpu_topology
      • enable_crash_error_log
      • enable_cross_shard_txn
      • enable_extra_prometheus_metric
      • enable_flow_control
      • enable_full_link_trace
      • enable_full_username
      • enable_get_rslist_remote
      • enable_global_ps_cache
      • enable_index_route
      • enable_monitor_stat
      • enable_ob_protocol_v2
      • enable_obproxy_rpc_service
      • enable_partition_table_route
      • enable_performance_mode
      • enable_pl_route
      • enable_primary_zone
      • enable_prometheus
      • enable_proxy_scramble
      • enable_qa_mode
      • enable_qos
      • enable_report_session_stats
      • enable_reroute
      • enable_scan_all_request
      • enable_sequence_prefetch
      • enable_sharding
      • enable_single_leader_node_routing
      • enable_standby
      • enable_stat
      • enable_strict_kernel_release
      • enable_strict_stat_time
      • enable_sync_all_stats
      • enable_syslog_file_compress
      • enable_syslog_wf
      • enable_trace
      • enable_trace_stats
      • enable_trans_detail_stats
      • enable_transaction_internal_routing
      • enable_xa_route
      • fetch_proxy_bin_random_time
      • fetch_proxy_bin_timeout
      • flow_consumer_reenable_threshold
      • flow_event_queue_threshold
      • flow_high_water_mark
      • flow_low_water_mark
      • grpc_client_num
      • grpc_thread_num
      • hot_upgrade_exit_timeout
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • idc_list_refresh_interval
      • ignore_local_config
      • internal_cmd_mem_limited
      • ip_listen_mode
      • is_need_skip_delay_interval_schema_changed
      • ldg_info_refresh_interval
      • listen_port
      • local_bound_ip
      • local_bound_ipv6_ip
      • log_cleanup_interval
      • log_dir_size_threshold
      • log_file_percentage
      • long_async_task_timeout
      • max_log_file_size
      • max_syslog_file_count
      • max_syslog_file_time
      • mem_leak_check_class_name
      • mem_leak_check_mod_name
      • metadb_server_state_refresh_interval
      • min_congested_connect_timeout
      • min_keep_congestion_interval
      • monitor_cost_ms_unit
      • monitor_item_limit
      • monitor_item_max_idle_period
      • monitor_log_level
      • monitor_stat_dump_interval
      • monitor_stat_high_threshold
      • monitor_stat_low_threshold
      • monitor_stat_middle_threshold
      • need_convert_vip_to_tname
      • net_accept_threads
      • net_config_poll_timeout
      • normal_pl_update_threshold
      • obproxy_config_server_url
      • obproxy_sys_password
      • partition_location_expire_relative_time
      • prometheus_cost_ms_unit
      • prometheus_listen_port
      • prometheus_sync_interval
      • protocol_diagnosis_level
      • proxy_cluster
      • proxy_hot_upgrade_check_interval
      • proxy_id
      • proxy_info_check_interval
      • proxy_local_cmd
      • proxy_mem_limited
      • qa_mode_mock_public_cloud_slb_addr
      • qos_stat_clean_interval
      • qos_stat_item_limit
      • refresh_idc_list
      • refresh_json_config
      • refresh_rslist
      • request_buffer_length
      • rootservice_list
      • rpc_client_net_write_timeout
      • rpc_client_net_read_timeout
      • rpc_async_pull_batch_max_size
      • rpc_async_task_thread_num
      • rpc_ctx_expire_time
      • routing_cache_mem_limited
      • rpc_enable_async_analyze
      • rpc_enable_async_pull_batch_tablets
      • rpc_async_pull_batch_max_times
      • rpc_async_pull_batch_wait_interval
      • rpc_enable_direct_expire_route_entry
      • rpc_enable_congestion
      • rpc_enable_lower_case_table_names
      • rpc_enable_global_index
      • rpc_enable_force_srv_black_list
      • rpc_enable_requestsm_info
      • rpc_enable_reroute
      • rpc_enable_parallel_handler
      • rpc_enable_retry_request_info_log
      • rpc_force_use_original_redis_protocol
      • rpc_enable_sub_req_log
      • rpc_force_srv_black_list
      • rpc_listen_port
      • rpc_max_request_batch_size
      • rpc_max_response_batch_size
      • rpc_max_server_table_entry_num
      • rpc_net_timeout_base
      • rpc_partition_calc_max_retries
      • rpc_redis_operation_timeout
      • rpc_request_server_entry_max_retries
      • rpc_request_timeout
      • rpc_request_max_retries
      • rpc_redis_default_database_name
      • rpc_redis_max_monitor_num
      • rpc_period_task_interval
      • rpc_redis_default_user_name
      • rpc_request_retry_waiting_time
      • rpc_server_entry_expire_time
      • rpc_request_timeout_delta
      • rpc_server_net_handler_expire_time
      • rpc_server_net_invalid_time_us
      • rpc_srv_session_pool_inactive_timeout
      • rpc_service_mode
      • rpc_server_net_max_pending_request
      • rpc_sub_request_isolation_mode
      • rpc_support_key_partition_shard_request
      • rpc_sub_request_weight
      • rpc_sub_req_max_retries
      • scan_buffered_rows_warning_threshold
      • sequence_entry_expire_time
      • sequence_fail_retry_count
      • sequence_prefetch_threshold
      • server_detect_fail_threshold
      • server_detect_mode
      • server_detect_refresh_interval
      • server_protocol
      • server_routing_mode
      • server_state_refresh_interval
      • server_tcp_init_cwnd
      • server_tcp_keepcnt
      • server_tcp_keepidle
      • server_tcp_keepintvl
      • server_tcp_user_timeout
      • session_pool_idle_timeout
      • session_pool_reset_interval
      • session_pool_stat_log_interval
      • session_pool_thread_num
      • session_pool_thread_schedule_interval
      • shard_scan_thread_num
      • short_async_task_timeout
      • skip_proxy_sys_private_check
      • skip_proxyro_check
      • slow_proxy_process_time_threshold
      • slow_transaction_time_threshold
      • sock_option_flag_out
      • sock_packet_mark_out
      • sock_packet_tos_out
      • sock_recv_buffer_size_out
      • sock_send_buffer_size_out
      • sql_table_cache_expire_relative_time
      • sql_table_cache_mem_limited
      • sqlaudit_mem_limited
      • stack_size
      • stat_dump_interval
      • stat_table_sync_interval
      • syslog_io_bandwidth_limit
      • syslog_level
      • table_entry_retry_build_limit
      • task_thread_num
      • tenant_location_valid_time
      • tunnel_request_size_threshold
      • username_separator
      • work_thread_num
      • xflush_log_level
    • Multi-level parameters
      • binlog_service_ip
      • compression_algorithm
      • enable_check_cluster_name
      • enable_client_ssl
      • enable_cloud_full_username
      • enable_read_write_split
      • enable_rpc_throttle
      • enable_server_ssl
      • enable_standby_read_write_split
      • enable_transaction_split
      • enable_weak_reroute
      • init_sql
      • mysql_version
      • ob_max_read_stale_time
      • obproxy_force_parallel_query_dop
      • obproxy_read_consistency
      • obproxy_read_only
      • observer_query_timeout_delta
      • observer_sys_password
      • observer_sys_password1
      • proxy_idc_name
      • proxy_primary_zone_name
      • proxy_route_policy
      • proxy_tenant_name
      • query_digest_time_threshold
      • read_stale_retry_interval
      • rootservice_cluster_name
      • route_diagnosis_level
      • rpc_request_throttle_waiting_time
      • rpc_throttle_limit_qps_qa
      • route_target_replica_type
      • rpc_throttle_trigger_percentage
      • slow_query_time_threshold
      • sql_firewall_config
      • ssl_attributes
      • target_db_server
      • weakread_weight_zone
  • Connection management
    • Principles
    • Session status synchronization
    • Configure a globally unique client session ID
    • Client session
    • Server session
    • Network connection
    • Session connection pool
  • Data routing
    • Factors affecting data routing
    • ODP routing
    • Intra-tenant routing
      • Overview
      • IP address-based routing
      • Partitioned table-based routing for strong-consistency reads
      • Global index table-based routing for strong-consistency reads
      • Replicated table-based routing for strong-consistency reads
      • Primary zone-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Rerouting
      • Forcible routing
      • Weight-based load-balanced routing
      • Equality derivation for partition calculation
    • Automatic routing to the primary/standby tenants
    • Read/Write separation
    • Follower latency threshold
    • Function partition key routing
      • Overview
      • String functions
      • Numeric calculation functions
      • Date calculation functions
      • FAQ
    • Character set-based routing
    • Partitioning key types supported for routing by ODP
  • Logs
    • Overview
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • obproxy_error.log
    • obproxy_slow.log
    • obproxy_stat.log
    • obproxy.log
  • Commands
    • Overview
    • Dedicated ODP commands
      • ALTER
      • KILL
        • KILL GLOBALSESSION
        • KILL PROXYSESSION
      • ping
      • SHOW
        • SHOW
        • SHOW GLOBALSESSION
        • SHOW PROXYPS
    • Compatible MySQL commands
      • BINLOG
      • KILL
      • SHOW PROCESSLIST
      • SHOW RELAYLOG EVENTS
      • SHOW SLAVE HOSTS
  • High availability mechanism
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
    • High availability testing
  • OBKV
    • RPC service port
    • Throttling
  • Security and protocols
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • Overview
        • SQL_PARSE
        • ROUTE_INFO
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • FETCH_TABLE_RELATED_DATA
        • TABLE_ENTRY_LOOKUP_DONE
        • EXPR_PARSE
        • CALC_ROWID
        • RESOLVE_TOKEN
        • RESOLVE_EXPR
        • CALC_PARTITION_ID
        • PARTITION_ID_CALC_DONE
        • PARTITION_ENTRY_LOOKUP_DONE
        • ROUTE_POLICY
        • CONGESTION_CONTROL
        • RETRY
        • HANDLE_RESPONSE
      • Examples
    • Memory leak diagnostics
    • Connection diagnostics
    • Prometheus monitoring
    • SQL firewall
  • Release Notes
    • Version number rules
    • Enterprise Edition
      • V4.4
        • OceanBase Database Proxy Enterprise Edition V4.4.1
      • V4.3
        • OceanBase Database Proxy Enterprise Edition V4.3.6
        • OceanBase Database Proxy Enterprise Edition V4.3.5
        • OceanBase Database Enterprise Edition V4.3.4
        • ODP Enterprise Edition V4.3.3
        • ODP Enterprise Edition V4.3.2
        • ODP Enterprise Edition V4.3.1
        • ODP Enterprise Edition V4.3.0
      • V4.2
        • ODP Enterprise Edition V4.2.3
        • ODP Enterprise Edition V4.2.2
        • ODP Enterprise Edition V4.2.1
      • V4.1
        • ODP Enterprise Edition V4.1.0
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
    • Community Edition
      • V4.4
        • OceanBase Database Proxy Community Edition V4.4.1
      • V4.3
        • OceanBase Database Proxy Community Edition V4.3.6
        • OceanBase Database Proxy Community Edition V4.3.5
        • OceanBase Database Proxy Community Edition V4.3.4
        • ODP Community Edition V4.3.3
        • ODP Community Edition V4.3.2
        • ODP Community Edition V4.3.1
      • V4.2
        • ODP Community Edition V4.2.3
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.0
      • V4.1
        • ODP Community Edition V4.1.0
      • V4.0
        • ODP Community Edition V4.0.0

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.4.1

Partitioned table-based routing for strong-consistency reads

Last Updated:2026-10-14 03:47:43

Background information
Usage rules
Example 1: Provide the partitioning key in the SQL statement
Example 2: Provide the partitioning key expression in the SQL statement
Example 3: Provide the partition name in the SQL statement

This topic describes how to configure and use partitioned table-based routing for strong-consistency reads.

Background information

In OceanBase Database, partitions are the basic unit for data storage. When you create a table, the mapping between the table and its partitions is automatically created. A non-partitioned table has only one partition. A partitioned table has multiple partitions.

At present, OceanBase Database does not support partition merging or splitting. Assume that a client requests the data in the P0 partition of a table and the P0 partition is located on OBServer0 and OBServer2. If OceanBase Database Proxy (ODP) routes the request to OBServer1 but the data of the P0 partition does not exist on this node, ODP will reroute the request to OBServer0 or OBServer2. This way, a remote plan is generated. If ODP keeps the mapping from the P0 partition to OBServer0 and OBServer2, a request for data in this partition will be routed to OBServer0 or OBServer 2 where the data resides, thereby avoiding a remote plan.

In addition to the OBServer nodes where the target partition resides, information about the leader and followers of the partition is also required for routing. In OceanBase Database, each partition has a leader and one or more followers, which are distributed on different OBServer nodes. Assume that OBServer0 is the leader and OBServer2 is a follower. If a strong-consistency read request is routed to the follower, the follower will forward the request to the leader. This way, a remote plan is generated. ODP can distinguish weak-consistency read requests from strong-consistency read requests. It forwards strong-consistency read requests to the leader to avoid remote plans.

Note

OceanBase Database supports three table-based routing types: local plan, remote plan, and distributed plan. Both the local plan and remote plan types refer to routing based on a single partition. ODP aims to eliminate remote plans and use local plans for routing. If many SQL queries are routed in a table by using remote plans, the ODP has a problem in routing. You can query the plan_type field in the oceanbase.GV$OB_SQL_AUDIT view to check the table-based routing type. For more information about table-based routing, see Table-based routing of ODP in OceanBase Database documentation.

Usage rules

When the client initiates a strong-consistency read request to a table, the partitioning key, partitioning key expression, or partition name can be provided in the SQL statement. ODP will parse the partitioning key value into the partition ID, find the location of the corresponding replica, and route the statement to the replica based on the partition ID.

  • The partitioning key is provided in the SQL statement. For example, if the partitioning key of the T0 table is C1, the query statement can be SELECT * FROM T0 WHERE C1 = xxxx;.

  • The partitioning key expression is provided in the SQL statement. For example, if the expression for the partitioning key of the T0 table is ABS(xxxx), the query statement can be SELECT * FROM T0 WHERE C1 = ABS(xxxx);.

  • The partition name is provided in the SQL statement. For example, if the T0 table has the P0, P1, and P2 partitions and the SP0, SP1, and SP2 subpartitions, the query statement can be INSERT INTO T0 PARTITION(P0SSP2) VALUES(xxxx);.

Notice

  • The syntax for specifying the partition names is SELECT/UPDATE/INSERT ... table_name PARTITION(partition_name[Ssubpartition_name]). In a partitioned table, partitions are named as P0, P1, and P2 by default, and subpartitions are named as SP0, SP1, and SP2 by default.

  • When you specify a partition name for routing, if you do not specify subpartition names, delete the prefix character S for identifying subpartitions from the statement.

This topic provides three examples to describe how to use partitioned-table based routing for strong-consistency reads.

Example 1: Provide the partitioning key in the SQL statement

  1. Log on to OceanBase Database and execute the following statement to create a partitioned table:

    obclient [test]> CREATE TABLE T0(C1 INT) PARTITION BY HASH(C1) PARTITIONS 8;
    
  2. Provide the partitioning key in the SQL statement to be executed.

    obclient [test]> SELECT /* +READ_CONSISTENCY(STRONG) */ * FROM T0 WHERE C1=123; 
    
  3. Execute the following statement to query the routing process in ODP:

    obclient [test]> EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ * FROM T0 WHERE C1=123\G
    

    The following return result shows that ODP routes the SQL statement to the leader of the partition.

    *************************** 1. row ***************************
    ...
    Route Plan
    -----------------
    > SQL_PARSE:{cmd:"COM_QUERY", table:"T0"}
    > ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
    > LOCATION_CACHE_LOOKUP:{mode:"oceanbase"}
      > TABLE_ENTRY_LOOKUP_DONE:{table:"T0", table_id:500084, partition_num:8, table_type:"USER TABLE", entry_from_remote:false}
      > PARTITION_ID_CALC_START:{}
        > EXPR_PARSE:{col_val:"C1=123"}
        > RESOLVE_EXPR:{part_range:"[123 ; 123]"}
          > RESOLVE_TOKEN:{token_type:"TOKEN_INT_VAL", resolve:{"BIGINT":123}, token:"123"}
        > CALC_PARTITION_ID:{part_description:"partition by hash(INT(binary)) partitions 8"}
      > PARTITION_ID_CALC_DONE:{partition_id:200065, level:1, partitions:"(p3)"}
      > PARTITION_ENTRY_LOOKUP_DONE:{leader:"10.10.10.1:50109", entry_from_remote:false}
    > ROUTE_POLICY:{chosen_route_type:"ROUTE_TYPE_LEADER"}
    > CONGESTION_CONTROL:{svr_addr:"10.10.10.1:50109"}
    

Example 2: Provide the partitioning key expression in the SQL statement

  1. Log on to OceanBase Database and execute the following statement to create a partitioned table:

    obclient [test]> CREATE TABLE T0(C1 INT) PARTITION BY HASH(C1) PARTITIONS 8;
    
  2. Provide the partitioning key expression in the SQL statement to be executed.

    obclient [test]> SELECT /* +READ_CONSISTENCY(STRONG) */ * FROM T0 WHERE C1=ABS(123);  
    
  3. Execute the following statement to query the routing process in ODP:

    obclient [test]> EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ * FROM T0 WHERE C1=123\G
    

    The following return result shows that ODP calculates the ABS() function and then routes the statement to the leader of the partition.

    *************************** 1. row ***************************
    ...
    Route Plan
    -----------------
    > SQL_PARSE:{cmd:"COM_QUERY", table:"T0"}
    > ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
    > LOCATION_CACHE_LOOKUP:{mode:"oceanbase"}
      > TABLE_ENTRY_LOOKUP_DONE:{table:"T0", table_id:500084, partition_num:8, table_type:"USER TABLE", entry_from_remote:false}
      > PARTITION_ID_CALC_START:{}
        > EXPR_PARSE:{col_val:"C1=123"}
        > RESOLVE_EXPR:{part_range:"[123 ; 123]"}
          > RESOLVE_TOKEN:{token_type:"TOKEN_INT_VAL", resolve:{"BIGINT":123}, token:"123"}
        > CALC_PARTITION_ID:{part_description:"partition by hash(INT(binary)) partitions 8"}
      > PARTITION_ID_CALC_DONE:{partition_id:200065, level:1, partitions:"(p3)"}
      > PARTITION_ENTRY_LOOKUP_DONE:{leader:"10.10.10.1:50109", entry_from_remote:false}
    > ROUTE_POLICY:{chosen_route_type:"ROUTE_TYPE_LEADER"}
    > CONGESTION_CONTROL:{svr_addr:"10.10.10.1:50109"}
    

Example 3: Provide the partition name in the SQL statement

  1. Log on to OceanBase Database and execute the following statement to create a partitioned table:

    obclient [test]> CREATE TABLE T0(C1 INT) PARTITION BY HASH(C1) PARTITIONS 8;
    

    If you do not specify the partition names when you create a partitioned table, the default partition names are used.

  2. Provide the partition name in the SQL statement to be executed.

    obclient [test]> SELECT /* +READ_CONSISTENCY(STRONG) */  * FROM T0 PARTITION(P1) WHERE C1=123;
    
  3. Execute the following statement to query the routing process in ODP:

    obclient [test]> EXPLAIN ROUTE SELECT * FROM T0 PARTITION(p1) WHERE C1=123\G
    

    The following return result shows that ODP routes the SQL statement to the P0 partition.

    Trans Current Query:"EXPLAIN ROUTE SELECT * FROM T0 PARTITION(p1) WHERE C1=123"
    
    Route Prompts
    -----------------
    > ROUTE_INFO
      [INFO] Will route to partition server or routed by route policy
    > PARTITION_ID_CALC_DONE
      [INFO] Will route to specified partition name(p1)
    
    
    Route Plan
    -----------------
    > SQL_PARSE:{cmd:"COM_QUERY", table:"T0"}
    > ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
    > LOCATION_CACHE_LOOKUP:{mode:"oceanbase"}
      > TABLE_ENTRY_LOOKUP_DONE:{table:"T0", table_id:500084, partition_num:8, table_type:"USER TABLE", entry_from_remote:false}
      > PARTITION_ID_CALC_DONE:{partition_id:200063, level:1, part_name:"p1"}
      > PARTITION_ENTRY_LOOKUP_DONE:{leader:"10.10.10.3:50111"}
    > ROUTE_POLICY:{chosen_route_type:"ROUTE_TYPE_LEADER"}
    > CONGESTION_CONTROL:{svr_addr:"10.10.10.3:50111"}
    

    The Will route to specified partition name(p1) information in the preceding return result indicates that ODP routes the request to the partition corresponding to the partition name specified in the statement.

Previous topic

IP address-based routing
Last

Next topic

Global index table-based routing for strong-consistency reads
Next
on this page
Background information
Usage rules
Example 1: Provide the partitioning key in the SQL statement
Example 2: Provide the partitioning key expression in the SQL statement
Example 3: Provide the partition name in the SQL statement