Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ TaurusDB/ Guía del usuario/ Proxy de base de datos (división de lectura/escritura)/ Configuración del modo de procesamiento de Multi-Statement
Actualización más reciente 2023-12-14 GMT+08:00

Configuración del modo de procesamiento de Multi-Statement

Prerrequisitos

Para configurar el modo de procesamiento de declaraciones múltiples en la consola, envíe una aplicación seleccionando Tickets de servicio > Crear ticket de servicio.

Escenarios

Cuando habilita ejecución de multi-statement para una instancia proxy, puede establecer el modo de procesamiento de multi-statement en Strict (valor predeterminado), Loose, o Parse. Para obtener más información, consulte Modo de procesamiento de Multi-Statement.

Procedimiento

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page, choose Databases > GaussDB(for MySQL).
  4. En la página Instances, haga clic en el nombre de la instancia para ir a la página Basic Information.
  5. En el panel de navegación de la izquierda, elija Database Proxy, seleccione una instancia proxy y haga clic en su nombre.
  6. En el panel de navegación de la izquierda, elija Parameter Modification y cambie el valor de multiStatementType a Strict, Loose y Parse. Para obtener más información, consulte Modo de procesamiento de Multi-Statement.
  7. Haga clic en Save para guardar el cambio. En el cuadro de diálogo que se muestra, haga clic en Yes.

Modo de procesamiento de Multi-Statement

El modo de procesamiento de Multi-Statement modificado se aplica inmediatamente a la instancia proxy. No es necesario reiniciar la instancia proxy. Si una conexión de división de lectura/escritura falla debido a una ejecución de Multi-Statement, cambiar el modo de procesamiento de Multi-Statement no restaurará la conexión. Tendrá que volver a conectar la conexión manualmente.

  • Strict (modo predeterminado)

    Si una solicitud que contiene Multi-Statement se encamina al nodo primario, todas las solicitudes posteriores se encaminan al nodo primario. La división de lectura/escritura sólo se puede restaurar después de desconectar la conexión actual y volver a conectarla.

    La instancia proxy de la base de datos no analizará estas sentencias, por lo que el rendimiento es mejor. Es adecuado para conexiones cortas.

  • Loose

    Si una solicitud que contiene múltiples sentencias se encamina al nodo primario, las solicitudes posteriores de la conexión actual todavía se pueden encaminar al nodo primario o leer réplicas.

    La instancia proxy de la base de datos no analizará estas sentencias, por lo que el rendimiento es mejor. Es bueno para cuando varias sentencias contienen solo sentencias de DML SQL y no contienen operaciones como establecer variables de sesión, crear tablas temporales, crear procedimientos almacenados o ejecutar transacciones no confirmadas.

  • Parse

    Si una solicitud que contiene varias sentencias se enruta al nodo principal, la instancia de proxy de base de datos analiza estas sentencias y determina si desea restaurar la división de lectura/escritura para solicitudes posteriores de la conexión actual basándose en las operaciones de las sentencias SQL. Para obtener más información acerca de las operaciones en las sentencias SQL, consulte Descripción de Parse.

    Las sentencias de análisis afectan al rendimiento de la instancia proxy. El grado de impacto depende de la longitud y complejidad de sentencias. Se recomienda que las sentencias sean inferiores a 100 MB.

Descripción de Parse

Si multi-statements contienen las operaciones, enumeradas aquí, todas las solicitudes posteriores se encaminan al nodo primario. Para restaurar la división de lectura/escritura, debe desconectar la conexión y luego restablecerla.

  • Creación de tablas temporales
  • Creación de procedimientos almacenados
  • Ejecución de transacciones no confirmadas. (por ejemplo, se ejecuta begin pero no se ejecuta commit ni rollback).
  • Ejecución de sintaxis compleja o especial. Estas sentencias no se analizarán.