¿Cómo resolver el problema de concurrencia de la base de datos del servidor SQL?
El "problema de concurrencia de la base de datos del servidor SQL" no es tan bueno como el problema del "procesamiento de concurrencia de la base de datos". Porque no sólo existe en bases de datos SQL, sino en casi cualquier base de datos. El manejo de situaciones de concurrencia siempre ha sido algo que la programación de bases de datos de red debe enfrentar y resolver, y a menudo es uno de los problemas que requiere más tiempo y energía para abordar. Este es un problema que encontrarán la mayoría de los principiantes en la programación de bases de datos en red.
Me gustaría darle los siguientes consejos basados en mi experiencia:
1. Para tablas que son propensas a problemas de concurrencia, es mejor recuperar los datos requeridos o parte de ellos. los datos a la vez en lugar de utilizar esos controles almacenados en búfer.
2. Cada vez que se reescriben datos, primero es necesario leer y verificar el registro que se va a reescribir.
3. Reescribe los datos almacenados en la tabla lo menos posible. Puede utilizar la marca "eliminar" para eliminar el registro original y agregar el registro modificado. De esta forma, cada operación quedará "documentada" y no quedará sin documentar. También evita la situación en la que un determinado registro haya cambiado cuando el cliente lo reescribe.
4. Cada tabla debe tener un campo de incremento automático y configurarlo como clave principal. Esto reducirá la aparición de conflictos de SQL, evitará ciertos errores y acelerará la búsqueda de datos de la base de datos (nota). , En SQL2000, si hay dos registros idénticos en una tabla, ocurrirán problemas graves (por ejemplo, dos registros en blanco).
5. No importa qué lenguaje uses para programar. Lo importante es prestar atención a los controles de diseño. Por ejemplo, cuando un determinado cliente está procesando la información de una persona, otros clientes no deberían procesar la información de esa persona. Esto puede introducir un mecanismo de ocupación, como que el cliente marque la bandera de ocupación y el tiempo de ocupación en la tabla antes de llamar a alguien para que se prepare para el procesamiento... (Puede pensar en los detalles usted mismo).
Por último, espero que después de contarte tanto, puedas entenderlos y sacarles un buen uso. La programación de bases de datos en red no es técnicamente difícil. Lo más difícil es considerar todos los aspectos de los factores.