Autor Téma: Reseeding pretekajici hodnoty IDENTITY rozsahu PK  (Přečteno 77 krát)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2790
  • Karma: 134
    • Verze Delphi: D2007, XE3, DX10
Reseeding pretekajici hodnoty IDENTITY rozsahu PK
« kdy: 29-05-2020, 08:06:53 »
Ahoj vsichni,

je to vicemene OT, ale treba ma nekdo nejaky napad, jak by se to dalo elegantne vyresit.

Mam tabulky napr. pro predikovane hodnoty na tyden dopredu po hodinach pro hafo velicin a kdyz jsem to navrhoval, tak jsem rozsah PK generovaneho jako IDENTITY posuzoval jen s ohledem na max. pocet zaznamu v tabulce, ale nedoslo mi, ze ten IDENTITY generator bude citat dal, i kdyz data budu prubezne mazat, takze neporostou. PK jsem zamerne udelal jen INTEGER (32bit), abych nezvetsoval objem dat, se kterym se pracuje a pracuje se s nimi hodne.

Fixnul jsem to tak, ze jsem skriptem smazal vsechny zaznamy v tabulce a prikazem CHECKIDENT udelal RESEED(1).

Ale v normalnim rezimu to nemazu vsechno naraz, aby kdyz dojde k nejakemu problemu s predikci jedne veliciny zustaly zachovany starsi predikce u vsech ostatnich, tedy smazu predikovane hodnoty jedne veliciny a vypoctu pro ni novou predikci.

Nenapada nekoho, jak do rezimu s nevyprazdnenou tabulkou zabudovat nejaky RESEED mechanismus? Asi bych mohl cekat na stav, kdy nejmensi hodnota IDENTITY bude vetsi nez maximalni pocet zaznamu s dostatecnou rezervou a udelat RESEED(1). Ale moc se mi to nelibi, protoze kdyz se neco vymkne a zustanou tam nejaka starsi data, tak se  takovy reseed mechanismus vypne.