- Posts: 68
- Joined: Mon Aug 28, 2006 4:43 pm
Most of the threads on chkind are a few years old so I wanted to ask about it to be sure of getting the latest info.
1) Do I need to invoke chkind, or does Texis 7 run it automatically? Documentation suggests it runs automatically now -- but do I need to turn it on in the Texis config file? I don't see it running in our current configuration.
2) What is the best way to ensure that the daemon re-starts if it dies? Or is dying highly unlikely?
2) Do I need to create SYSMETAINDEX entries for all our metamorph indices in order for chkind to optimize them? Or can I make it work without creating SYSMETAINDEX entries.
- Site Admin
- Posts: 5495
- Joined: Tue Apr 25, 2000 6:56 pm
chkind is automatic if enabled in the texis.ini section "[Chkind]" setting "Automatic". It will update any metamorph index based on default values. SYSMETAINDEX can be used to override defaults. See
Whether to use chkind depends on your usage model. If the database is continuously trickle updated chkind is a good fit. If you do a lot of work in batches you may be better served by updating indices manually instead of by chkind which doesn't know your usage cycle.
- Site Admin
- Posts: 1263
- Joined: Tue Apr 25, 2000 1:27 pm
1) [chkind] Automatic = 1 (i.e. update automatically) has always been the default. However, note that the index update will not occur until the amount of table data change has exceeded the SYSMETAINDEX threshold (or its default, see below).
Note that if a table is updated mainly in occasional large batches, it's best to turn off chkind and do the index update manually, after the table update. This makes the table update faster (because it will never compete with a chkind index update that might be simultaneous -- this can make both slow), and keeps the index up-to-date sooner (because it doesn't wait for the changes to exceed the SYSMETAINDEX threshold). If updates are small but (nearly) continuous, automatic updates via chkind are probably best.
2) It's not a daemon, but rather a sub-process of the database monitor that is run occasionally, so it may appear as the process `monitor (Check Index)' in the output of ps (under Unix). So if the database monitor goes away, so will the chkind task -- but then that means the database is idle, and thus tables can't be getting out of date anyway. So there should be no need to check and restart it. If you're concerned whether it's running, you can set [Chkind] Verbose = 0x3 to get extra messages in monitor.log when it runs (see also Verbose Databases and Verbose Indexes).
3) All Metamorph indexes are checked if automatic chkind is enabled -- regardless of whether a SYSMETAINDEX entry exists or not. If there is no SYSMETAINDEX entry for an index, default values of checking every hour and only updating if more than 1000000 bytes have changed are used.
Note that if [Chkind] SYSMETAINDEX = 1 is set in texis.ini, then the above is modified: *only* indexes that have entries in SYSMETAINDEX will be checked. (The default [Chkind] SYSMETAINDEX is 0: check regardless.)