¿Cuáles son los factores relacionados con el rendimiento de la consulta de tabla única en GaussDB(DWS)?
GaussDB(DWS) utiliza la arquitectura de nada compartido, y los datos se almacenan de manera distribuida. Por lo tanto, la clave de distribución, el volumen de datos y el número de particiones afectan al rendimiento general de la consulta de una sola tabla.
- Diseño de clave de distribución
Por defecto, GaussDB(DWS) toma la primera columna de la clave primaria como clave de distribución. Si ambos están definidos, la clave principal debe contener la clave de distribución. Las claves de distribución determinan la distribución de datos entre particiones. Si las claves de distribución están bien distribuidas entre particiones, se puede mejorar el rendimiento de la consulta.
Si la clave de distribución está seleccionada incorrectamente, puede producirse un sesgo de datos después de importar los datos. El uso de algunos discos puede ser mucho más alto que el de otros discos, y el clúster puede convertirse en solo lectura en algunos casos extremos. La selección adecuada de las claves de distribución es fundamental para el rendimiento de las consultas de tabla. Además, las claves de distribución adecuadas permiten crear y mantener índices de datos más rápidamente.
- Volumen de datos almacenado en una sola tabla
Cuanto mayor sea la cantidad de datos almacenados en una sola tabla, menor será el rendimiento de la consulta. Si una tabla contiene una gran cantidad de datos, debe almacenar los datos en particiones. Para convertir una tabla ordinaria en una tabla particionada, debe crear una tabla particionada e importar datos a ella desde la tabla ordinaria. Cuando diseñe tablas, planifique si desea utilizar tablas particionadas en función de los requisitos de servicio.
Para particionar una tabla, cumpla con los siguientes principios:
- Utilice campos con rangos obvios para particionar, por ejemplo, fecha o región.
- El nombre de la partición debe reflejar las características de los datos de la partición. Por ejemplo, su formato puede ser la palabra clave + características de rango.
- Establezca el límite superior de una partición en MAXVALUE para evitar el desbordamiento de datos.
- Número de particiones
Las tablas e índices se pueden dividir en unidades más pequeñas y fáciles de gestionar. Esto reduce significativamente el espacio de búsqueda y mejora el rendimiento del acceso.
El número de particiones afecta al rendimiento de la consulta. Si el número de particiones es demasiado pequeño, el rendimiento de la consulta puede deteriorarse.
GaussDB(DWS) soporta el particionamiento de rango y el particionamiento de lista. En la partición de rango, los registros se dividen e insertan en varias particiones de una tabla. Cada partición almacena datos de un rango específico (los rangos en diferentes particiones no se superponen). El particionamiento de listas solo es compatible con clústeres de 8.1.3 y versiones posteriores.
Al diseñar un almacén de datos, debe tener en cuenta estos factores y realizar experimentos para determinar el esquema de diseño óptimo.