29.06.2022 08:33

@SetTargetFrame (1)
24.05.2022 21:06

Hodně sloupců (8)
24.05.2022 12:18

Jazyk vzorců: Zapisování do jiné aplikace LN (2)
24.05.2022 12:10

pravidla pro poštu (7)
12.05.2022 14:12

Action pane (3)
22.04.2022 10:10

Instalačky LN (3)
07.03.2022 15:12

ID File expiration date (9)
07.10.2021 09:51

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: