10.05.2023 07:53

Co se děje ? Jak se pracuje v jazyce vzorců ? (2)
21.04.2023 14:15

Co se starou dokumentací k R3, R4, ...?
05.04.2023 14:41

Událost, při neexistenci přílohy. (2)
05.04.2023 11:51

Jak zjistit vložení přílohy. (4)
21.03.2023 11:14

Rámec nebo okno ? (10)
22.02.2023 10:14

Vylepseni designera 9.01 (3)
02.02.2023 20:27

Jak resit casove narocneho agent na frontendu (13)
25.01.2023 19:15

Z predchádzajúceho článku je už jasné, čo je UNK tabuľka v Domino databáze a ako sa dá zistiť jej veľkosť. Čo však v prípade, že sa nebezpečne blíži k limitu? Ako predísť problémom?
Vývojárovi sa UNK tabuľka zobrazuje v Domino Designer pod tlačítkom Fields, napríklad pri tvorbe @Formula sekvencií, návrhu pohľadov. UNK tabuľku však vidí aj používateľ, ak si napríklad tvorí vlastné pohľady alebo vytvára full-text podmienky. Ak teda zistíte, že UNK tabuľka je nadštandardne veľká, odporúčam nasledovné kroky:
/1/ Skrátiť názvy polí
Ak je to možné, skrátiť názvy polí vo formulároch a následne vo vytvorených dokumentoch (vhodným agentom).
/2/ Vymazať nepoužívané polia
Ak je to možné, vymazať nepoužívané polia z formulárov, pričom odporúčam použiť mazanie tlačítkom BackSpace, nie Delete, čo súvisí s nedokumentovaným trikom na UNK tabuľku. Samozrejme, nepoužívané polia je potrebné vymazať aj z dokumentov (agentom, využívajúcim @DeleteField).
/3/ Zjednotiť názvoslovie polí
Ak je to možné, použiť v jednotlivých formulároch rovnaké názvy polí. V prípade, že je definícia polí totožná, je vhodné použiť Shared Fields.
/4/ Kompaktovať databázu bez Full-text indexu
Pri kompaktovaní databázy dochádza k odstráneniu nepoužívaných polí z UNK tabuľky databázy. Ak má však databáza vytvorený FT index, tak k odstráneniu nepoužívaných polí nedôjde. Z tohto dôvodu je potrebné najskôr FT index vymazať a až následne skompaktovať databázu.
Po tomto procese je možné skontrolovať veľkosť UNK tabuľky (spôsobom popísaným v predchádzajúcom článku), alebo priamo jej zobrazením - napríklad pri tvorbe full-text podmienky. Ak k zmene veľkosti UNK tabuľky nedošlo, odporúčam:
/5/ Pridať a odstrániť nepotrebné pole
Na ľubovoľný formulár pridať pole s názvom "nepotrebného" poľa, kurzorom sa nastaviť za pole a použitím BackSpace pole vymazať. Dôležité je, že pri tomto postupe sa zobrazí potvrdzujúce dialógové okno "Do you want really delete field XXX?", čo je signál pre UNK tabuľku na "refresh".
/6/ Vytvoriť a zmazať FT index
Za istých okolností je nastavený interný príznak FTIndex na hodnotu True aj napriek tomu, že neexistuje FT index. Vytvorením FT indexu a jeho následným vymazaním dôjde k jeho prestaveniu na hodnotu Flase, čo umožní kompaktovaniu aktualizovať UNK tabuľku.
/7/ Skompaktovať databázu
Po tomto postupe by už malo dôjsť k zníženiu veľkosti UNK tabuľky. Len pre zaujímavosť: Limit 64 kB zodpovedá asi 3000-3200 poliam s priemernou dĺžkou 10-12 znakov. Vo väčšine aplikácií je tento problém skôr teoretický, no práve výnimky potvrdzujú pravidlo. O postupe a dôsledkoch zvýšenia UNK limitu už v nasledujúcej časti...
Autor: Miroslav Uhlár
Datum: 19.11.2002
Sdílet článek Seznam komentářů
Související články: