Jag är inte säker på att jag förstår hur din applikation fungerar gällande skriv och läsning. Men låt oss säga att funktionen som bygger upp datat består av en DELETE och en eller flera INSERT, då bör du wrappa dessa i en transaktion. Sedan kan du välja i funktionen som läser datat att OM den försöker läsa data samtidigt som den andra funktionen håller på att lägga in datat så gör den antingen:
1) Läser datat så som det såg ut innan transaktionens början
2) Väntar på att transaktionen arbetar klart och läser sedan datat så som det ser ut efter transaktionens slut
Här har du lite info om hur det fungerar i MySQL:
http://dev.mysql.com/doc/refman/5.6/...ansaction.html
Disclaimer: Jag kan inte så mycket om transaction isolation i MySQL, ovan info är baserad på hur databaser brukar fungera + google-fu.