La función de consulta SQL proporciona una interfaz de acceso unificada para varios motores de datos. El procesamiento en las instrucciones SQL no consume rendimiento de lectura. Sin embargo, al usar SQL para consultar datos, operaciones como el escaneo de tablas y las consultas basadas en índices consumen rendimiento de lectura y escritura. Este tema describe los elementos facturables de la función de consulta SQL y ofrece ejemplos de facturación.
Notas de uso
No se le cobra por usar la función de consulta SQL. No obstante, al utilizar esta función, se generan cargos por operaciones como el escaneo de tablas y las consultas basadas en índices.
Cuando utiliza la función de consulta SQL para consultar datos, solo se consume rendimiento de lectura.
Si configuró un rendimiento de lectura reservado para las tablas de datos y los índices, y el rendimiento de lectura consumido por las consultas SQL supera dicho límite, se le cobrará el exceso de rendimiento de lectura según el método de facturación pay-as-you-go.
Al ejecutar instrucciones SQL para consultar datos, los rangos de datos consultados y escaneados varían según la complejidad de las instrucciones. Evite usar instrucciones SQL que escaneen todos los datos de las tablas; en su lugar, utilice instrucciones SQL junto con índices para maximizar la utilización de recursos.
Elementos facturables
|
Elemento facturable |
Método de facturación |
Descripción |
|
Rendimiento de lectura medido |
|
El rendimiento de lectura consumido al ejecutar una sola instrucción SQL es la suma del rendimiento de lectura consumido cuando se realizan operaciones específicas en la tabla y el índice. Unidad: CU Al ejecutar instrucciones SQL para consultar datos, se puede consumir rendimiento de lectura al realizar las siguientes operaciones:
|
Ejemplos de facturación
Se creó una tabla de pedidos llamada sample_table en Tablestore. La tabla de pedidos tiene una columna de clave principal llamada user_id y dos columnas de atributos llamadas order_id y order_cost. El tipo de datos de las columnas user_id y order_id es String, y el tipo de datos de la columna order_cost es Double. Los valores en las columnas order_id y user_id son únicos dentro de cada columna. La tabla de pedidos contiene información de 10,000 usuarios, cada uno con 100 filas. El número total de filas en la tabla de pedidos es de 1 millón y el tamaño de cada fila es de aproximadamente 1 KB.
A continuación, la tabla describe los tipos de recursos sobre los que se realizan las operaciones y la cantidad de rendimiento de lectura que se consume al ejecutar instrucciones SQL específicas.
|
Instrucción SQL |
Tipo de recurso |
Cantidad de rendimiento de lectura |
|
SELECT * FROM sample_table WHERE user_id="user1" |
Tabla de datos |
La columna en las condiciones de consulta es la columna de clave principal. Tablestore puede usar la tabla de datos para consultar datos que cumplen con las condiciones especificadas mediante la columna user_id. El rendimiento de lectura consumido es de 25 CUs (100 filas x 1 KB/4 KB). |
|
SELECT sum(order_cost) FROM sample_table WHERE user_id="user1" |
Tabla de datos |
La columna en las condiciones de consulta es la columna de clave principal. Tablestore puede usar la tabla de datos para consultar datos que cumplen con las condiciones especificadas mediante la columna user_id. El procesamiento en las instrucciones SQL no consume rendimiento de lectura. Solo el escaneo de datos consume rendimiento de lectura. El rendimiento de lectura consumido es de 25 CUs (100 filas x 1 KB/4 KB). |
|
SELECT order_cost FROM sample_table WHERE order_id="order1" |
Tabla de datos |
La columna en las condiciones de consulta no es la columna de clave principal. Si no se utiliza ningún índice, Tablestore escanea toda la tabla para consultar los datos que cumplen con las condiciones especificadas mediante la columna order_id. El rendimiento de lectura consumido es de 250,000 CUs (1 millón de filas x 1 KB/4 KB). Importante
En escenarios reales, Tablestore limita el uso del escaneo de datos para reducir el número de CUs consumidas. Se recomienda utilizar instrucciones SQL junto con índices. De este modo, se evita el escaneo de datos y se optimiza el rendimiento de las consultas. |
|
Tabla de datos e índice |
La columna en las condiciones de consulta no es la columna de clave principal. Si la columna está incluida en el índice creado para la tabla de datos, Tablestore usa automáticamente el índice para consultar los datos que cumplen con las condiciones especificadas mediante la columna order_id. El rendimiento de lectura consumido es de 1 CU (redondeado hacia arriba a partir del resultado de 1 fila x 1 KB/4 KB). |