Help Center/ TaurusDB/ User Guide/ Database Proxy (Read/Write Splitting)/ Changing Configurations of a Proxy Instance/ Changing the Multi-statement Processing Mode of a Proxy Instance
Updated on 2025-08-21 GMT+08:00

Changing the Multi-statement Processing Mode of a Proxy Instance

When you enable multi-statement execution for a proxy instance, you can set multi-statement processing mode to Strict, Loose, or Parse.

  • Strict (default)

    If a request containing multiple statements is routed to the primary node, the subsequent requests are all routed to the primary node. Read/write splitting can be restored only after you disconnect the current connection and reconnect it.

    Your proxy instance will not parse these statements, so the performance is better. It is suitable for short connections.

  • Loose

    If a request containing multiple statements is routed to the primary node, the subsequent requests of the current connection can still be routed to the primary node or read replicas.

    Your proxy instance will not parse these statements, so the performance is better. It is good for when multiple statements contain only DML SQL statements and do not contain operations like setting session variables, creating temporary tables, creating stored procedures, or executing uncommitted transactions.

  • Parse

    A read-only request containing multiple statements is routed based on weights. A read/write request containing multiple statements is routed to the primary node, and your proxy instance parses these statements and determines whether to split subsequent read and write requests received over the current connection based on the operations in the SQL statements (Parse-based mode description).

    Parsing statements affects the proxy instance performance. The degree of the impact depends on the length and complexity of statements. It is recommended that the statements be less than 100 MB.

Constraints

  • To set the multi-statement processing mode on the console, submit a service ticket.
  • The changed multi-statement processing mode applies to your proxy instance immediately. You do not need to reboot the proxy instance. If a read/write splitting connection fails due to a multi-statement execution, changing the multi-statement processing mode will not restore the connection. You will need to reconnect the connection manually.
  • Parse-based mode description:
    If multi-statements contain the operations listed here, all subsequent requests are routed to the primary node. To restore read/write splitting, you need to disconnect the connection and then re-establish it.
    • Creating temporary tables
    • Creating stored procedures
    • Executing uncommitted transactions (for example, begin is executed but commit or rollback is not executed)
    • Executing complex or special syntax. These statements will not be parsed.

Procedure

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and project.
  3. Click in the upper left corner of the page and choose Databases > TaurusDB.
  4. On the Instances page, click the instance name to go to the Basic Information page.
  5. In the navigation pane, choose Database Proxy.
  6. Click a proxy instance name to go to the Basic Information page.
  7. In the navigation pane, choose Parameter Modifications.
  8. Set the parameter multiStatementType as required.

    Figure 1 Setting multiStatementType

    You can set this parameter to Strict, Loose, or Parse.

  9. Click Save to save your change. In the displayed dialog box, click Yes.