Credo tu possa evitare questa procedura ottimizzando così gli accessi. Secondo me ti basta salvare il timestamp iniziale (quello al momento dell'inizio della procedura di prenotazione) senza la necessità di aggiornarlo. Ogni qualvolta un altro utente tenta di selezionare quella data/ora verifichi sul DB la presenza o meno del timestamp. Se esso non è valorizzato allora lo valorizzi ed inizia la procedura in caso contrario lo confronti con la data/ora attuale e se è passato più di un tot tempo (es: 2 ore) significa che la prenotazione precedente non è stata terminata, quindi aggiorni il timestamp edi inizi la procedura con nuovo utente. Se non è ancora trascorso il tempo limite visualizzi un messaggio di cortesia informando l'utente che la data/ora da lui scelta è momentaneamente in uso.Originariamente inviato da StefanoV
Ogni tipo 10 secondi lancio una richiesta ajax (visto che la procedura prima di salvare è lunga) con la quale mi aggiorno il timestamp della sessione dell'utente.