Mysql
 sql >> Database >  >> RDS >> Mysql

Versione riga per MySql

Mysql non ha un meccanismo di rowversioning integrato. Anche se l'utilizzo di un tipo di timestamp può sembrare OK, ti sbagli per le query che aggiornano più righe contemporaneamente e richiedono più tempo della risoluzione del timestamp poiché il valore assegnato si basa sull'inizio della modifica e non sulla fine di il cambiamento.

Pertanto, se la query di aggiornamento interessa 100 righe, tutte le righe avranno lo stesso timestamp (ad esempio un valore di 2015-10-28 09:47:10.123456). Ma è possibile che le righe non finiscano di scrivere fino al 28-10-2015 09:47:10.654321.

Se, separatamente, stai cercando tutte le righe modificate in base a un altro timestamp (ad esempio 2015-10-28 09:47:10.500000), non otterrai i risultati desiderati. E a seconda del tuo codice, potresti perdere le 100 righe modificate.

È il fatto che le modifiche alle righe ora potrebbero avere un timestamp in passato che non puoi semplicemente confrontare 2 timestamp per ottenere tutte le righe modificate.