Todos los productos
Search
Centro de documentos

Data Management:Consulta de una tabla lógica

Última actualización: Sep 03, 2026

Este tema describe cómo consultar una tabla lógica.

Contexto

  • Tras implementar la fragmentación de bases de datos y tablas, se requiere un método sencillo para consultar los datos distribuidos en varias tablas físicas. Una tabla lógica proporciona una vista unificada que permite consultar los datos fragmentados como si estuvieran en una sola tabla, lo cual abstrae la complejidad de localizar manualmente la base de datos y la tabla correctas para cada consulta.

  • Data Management (DMS) habilita estas consultas transparentes mediante la agregación de datos de logical databases y logical tables.

Procedimiento

  1. Seleccione la logical database que desea consultar y exportar datos. Antes de configurar un algoritmo de enrutamiento, solo puede ejecutar instrucciones SELECT, UPDATE y DELETE. La instrucción INSERT no es compatible.

    Si ejecuta una instrucción INSERT en esta etapa, el sistema devuelve el siguiente error: [Error] dsql.DSQLException: No shard route found, execution failed. Make sure a routing algorithm is configured for the logical table.

  2. Configure un algoritmo de enrutamiento. Este ejemplo utiliza módulo simple. Para obtener más información sobre la configuración de algoritmos complejos, consulte Configure a routing algorithm.

    En el cuadro de diálogo New algorithm, establezca Algorithm type en Single-column modulo, Modulo type en Simple modulo y Routing field en user_id (bigint). Establezca Modulo en 128 y luego haga clic en Save.

  3. Ejecute una instrucción INSERT.

    Por ejemplo, ejecute INSERT INTO scend_test(gmt_create,gmt_modified,user_id) VALUES (now(),now(),2); para insertar un registro en la tabla scend_test. Al completarse la ejecución correctamente, aparece una marca de verificación verde en el área de resultados.

  4. Realice una consulta rápida.

    • Una vez configurado el algoritmo de enrutamiento, puede consultar una tabla física fragmentada específica mediante el campo de enrutamiento en la condición de consulta. Esto elimina la necesidad de calcular y cambiar manualmente entre bases de datos y tablas físicas. En la DMS SQL Console, ejecute la instrucción SQL SELECT * FROM scend_test WHERE user_id = 4, que utiliza el campo de enrutamiento user_id como condición de consulta. El registro de ejecución muestra que DMS enruta la tabla lógica scend_test a la tabla física fragmentada poc_dev.scend_test_000.

    • El resultado de la consulta incluye una columna adicional que indica la base de datos y la tabla de origen. Haga clic en el valor de esta columna para ir a la tabla física fragmentada correspondiente con la instrucción SQL y las condiciones de consulta prellenadas. Por ejemplo, al ejecutar SELECT * FROM scend_test WHERE user_id = 1, la columna de ubicación de datos en el resultado muestra poc_dev.scend_test_000. Esto indica que DMS enrutó los datos a la tabla física fragmentada correspondiente y devolvió un registro coincidente.

    • También puede ejecutar consultas sin incluir el campo de enrutamiento como condición. Esta acción realiza un escaneo completo de todas las tablas físicas fragmentadas, lo cual resulta útil para operaciones como estadísticas resumidas.

      Nota

      La sintaxis como GROUP BY también es compatible. La mayor parte de la sintaxis SQL coincide con la de la base de datos de origen, pero actualmente no se admiten subconsultas.

      Por ejemplo, si ejecuta SELECT COUNT(*) FROM scend_test; en la SQL Console, el resultado es 1, lo que indica que la tabla contiene un registro.