Tengo un programa de servidor que funciona con base de datos y N clientes que están conectados al servidor. En la base de datos tengo una tabla de personas con alrededor de 10 000 personas. Ahora en el cliente X se ejecuta la siguiente consulta sql:
SELECT * FROM persons WHERE age >18 AND sex=1 ORDER BY age.Y se muestra una lista ordenada de 2500 personas al cliente X. Si hay cambios en el lado del servidor, la lista de personas que se muestran al cliente X debe actualizarse de la manera más efectiva.
Ahora, en el lado del servidor, la persona con id = 120 fue actualizada por algún cliente. Después de esta actualización no sabemos su edad y sexo. Entonces hay dos situaciones:
Entonces, ¿cuál es la forma más efectiva de averiguarlo ahora: si la persona con id = 120 está en X personas seleccionadas o no? ¿Es esta persona es, entonces cuál es su posición? Considero aquí el caso más fácil, pero ¿y si hay tres de cinco actualizaciones? ¿Qué hacer en este caso?
Creo que hay soluciones para tal sincronización del conjunto de resultados existente con la base de datos si los datos cambian, pero no puedo encontrar las palabras necesarias para encontrarlo en Internet. Por favor, cualquier pista sobre cualquier nombre de solución/algoritmo.