Concurrency (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(Nieuwe pagina aangemaakt met 'Met ''concurrency'' bedoel ik hier: Hoe weet ik welke versie van een entiteit (bv. een tabel) de juiste is? == Voorbeeld == * Opgeleverde tabellen staan in databa...') |
|||
Regel 7: | Regel 7: | ||
* In ''eansku'' heb ik een tabel ''sku_b2'' gecreëerd. Na een tijdje is deze tabel gepushed naar ''dwh_org'' | * In ''eansku'' heb ik een tabel ''sku_b2'' gecreëerd. Na een tijdje is deze tabel gepushed naar ''dwh_org'' | ||
* Nu, een maandje later wil ik verder werken met tabel ''sku_b2''. Ik weet alleen niet zeker of ik tussentijd in ''eansku'' wijzigingen heb aangebracht. Of dat ''sku_b2'' via een andere projectdatabase is veranderd op ''dwh_org''. Hoe kan ik dat achterhalen? | * Nu, een maandje later wil ik verder werken met tabel ''sku_b2''. Ik weet alleen niet zeker of ik tussentijd in ''eansku'' wijzigingen heb aangebracht. Of dat ''sku_b2'' via een andere projectdatabase is veranderd op ''dwh_org''. Hoe kan ik dat achterhalen? | ||
+ | |||
+ | == information_schema == | ||
+ | |||
+ | Systeemdatabase <code>information_schema</code> beschikt over enige relevante informatie: | ||
+ | |||
+ | === update_time === | ||
+ | |||
+ | Dit lijkt niet te werken, mogelijk vanwege een bug [https://stackoverflow.com/questions/307438/how-can-i-tell-when-a-mysql-table-was-last-updated]: | ||
+ | |||
+ | <pre> | ||
+ | select | ||
+ | update_time # Steeds leeg? | ||
+ | from | ||
+ | information_schema.tables | ||
+ | where | ||
+ | table_schema="eansku" | ||
+ | and | ||
+ | table_name="sku_b2"; | ||
+ | </pre> | ||
+ | |||
+ | === create_time === | ||
+ | |||
+ | Dit werkt beter: | ||
+ | |||
+ | <pre> | ||
+ | select | ||
+ | create_time | ||
+ | from | ||
+ | information_schema.tables | ||
+ | where | ||
+ | table_schema="eansku" | ||
+ | and | ||
+ | table_name="sku_b2"; | ||
+ | </pre> |
Versie van 22 jan 2021 11:59
Met concurrency bedoel ik hier: Hoe weet ik welke versie van een entiteit (bv. een tabel) de juiste is?
Voorbeeld
- Opgeleverde tabellen staan in database dwh_org
- Voor een project heb ik een bijbehorende projectdatabase, genaamd eansku
- In eansku heb ik een tabel sku_b2 gecreëerd. Na een tijdje is deze tabel gepushed naar dwh_org
- Nu, een maandje later wil ik verder werken met tabel sku_b2. Ik weet alleen niet zeker of ik tussentijd in eansku wijzigingen heb aangebracht. Of dat sku_b2 via een andere projectdatabase is veranderd op dwh_org. Hoe kan ik dat achterhalen?
information_schema
Systeemdatabase information_schema
beschikt over enige relevante informatie:
update_time
Dit lijkt niet te werken, mogelijk vanwege een bug [1]:
select update_time # Steeds leeg? from information_schema.tables where table_schema="eansku" and table_name="sku_b2";
create_time
Dit werkt beter:
select create_time from information_schema.tables where table_schema="eansku" and table_name="sku_b2";