Hay demasiados elementos de datos y hay un retraso al insertarlos en la base de datos. ¿Cómo solucionar este problema?
1. Los datos que importamos a la base de datos generalmente tienen una plantilla fija, es decir, hay encabezados de columna, pero un dato en Excel puede distribuirse y almacenarse en diferentes tablas de datos, entonces, ¿cómo lo hacemos? ¿Qué hacemos? Después de importar, podemos unir e insertar declaraciones SQL directamente en el archivo de clase. Creo que será más problemático hacer esto. Mi enfoque es crear una tabla intermedia en los datos, llamada temporalmente tabla temporal, que corresponde uno a uno a las columnas en Excel. Se agrega una columna de estado adicional a la tabla para identificar si la verificación de datos falló o tuvo éxito (. 0 significa que no hay ningún problema con los datos, -1 significa que hay un problema), failReason registra el motivo del error de importación y luego agrega un archivo de configuración para asignar columnas de Excel y tablas de datos. 2. Los datos que se van a importar generalmente deben verificarse. Los datos que no cumplan con las reglas de importación no están permitidos o no se pueden importar. Verifico los datos en dos pasos, una parte se verifica en el segmento de código y la otra parte se verifica en la base de datos. En cuanto a cómo dividirlo, depende de usted analizarlo según la situación. Pongo cosas como límites de longitud de caracteres, límites de reglas de expresiones regulares, etc. en el segmento de código para verificación, y pongo la verificación del acceso a la base de datos, como si el valor del diccionario existe en la base de datos, en los datos. puede reducir el número de accesos a la base de datos. Inserte los datos que han sido verificados por el cliente en la tabla temporal, independientemente de si han pasado o pasado, pero el valor de estado es diferente. 3. Entonces, ¿cómo insertar los datos insertados en la tabla temporal en diferentes tablas de datos? Así es, uso el disparador posterior. Cuando inserto los datos en Excel en la tabla temporal, se activará el disparador posterior. se activará y los datos insertados se procesarán en el activador. Si el valor de estado de los datos insertados es -1, significa que la verificación en el lado del código no ha pasado, entonces no es necesario continuar con el siguiente paso. Si el valor de estado es 0, continúe procesando en el disparador, como detectar si el valor del diccionario existe en la tabla del diccionario, etc. Si no se cumplen los requisitos, cambie el valor de estado del registro actualmente insertado en la tabla temporal. a -1 y corrija la calibración. El motivo del error de verificación se actualiza en el campo failReason y ya no se procesa. Si todas las verificaciones son correctas, escriba una declaración de inserción para insertar los datos en diferentes tablas. 4. Se completa la importación de datos, ¿qué hacer con los datos problemáticos? Consúltelo para generar un archivo de Excel basado en la plantilla original y agregue una columna de "motivo del error". De hecho, son los registros con un valor de estado de -1, y luego devuélvalos al usuario para que los vea. Después de pasar los pasos anteriores, se completa toda la función de importación. Lo anterior es solo una idea y espero que todos puedan mejorarla. Los artículos de la columna técnica original de este sitio son todos originales o compilados por Zhongrui.