sql >> Databáze >  >> RDS >> Mysql

Verze řádků pro MySql

Mysql nemá vestavěný mechanismus rowversioning. I když se použití typu časového razítka může zdát v pořádku, narazíte na něj u dotazů, které aktualizují více řádků současně a trvají déle než rozlišení časového razítka, protože přiřazená hodnota je založena na začátku změny a ne na konci změna.

Pokud tedy váš aktualizační dotaz ovlivní 100 řádků, všechny řádky budou mít stejné časové razítko (řekněme hodnotu 2015-10-28 09:47:10.123456). Je však možné, že zápis řádků bude dokončen až 28. 10. 2015 09:47:10.654321.

Pokud samostatně hledáte všechny změněné řádky na základě jiného časového razítka (řekněme 2015-10-28 09:47:10.500000), nedosáhnete požadovaných výsledků. A v závislosti na vašem kódu vám může uniknout změněných 100 řádků.

Skutečnost, že změny v řádcích nyní mohou mít v minulosti časové razítko, nelze jednoduše porovnat 2 časová razítka a získat všechny změněné řádky.



  1. Nelze se připojit k databázovému serveru (pracovní plocha mysql)

  2. Online upgrade schématu v MySQL Galera Cluster pomocí metody RSU

  3. Dvakrát připojte stůl kompozitním klíčem

  4. MySQL – vyberte, chcete-li načíst poslední datum a čas