Index Build uses SetMapSelectability
Hello Community,
As per the Build index documentation "If you use BUILD INDEX on a live system, the index is temporarily labeled as notselectable, meaning that queries cannot use the index while it is being built. Note that this will impact the performance of queries that use the index." Is this hiding/not selectable is only applicable for BUILD INDEX or it supports class level %BuildIndices as well. as far as my analysis both syntax setting this setting SetMapSelectability.
Thanks!
Comments
- for a NEW created index this is "work in progress" that shouldn't be used until completed.
- if it's a matter of repair $SYSTEM.OBJ.ValidateIndices() might be more useful.
see my article Fix broken index
Thanks Robert,
The validateIndices() and absolutely It's useful. For the first point. As far of my understanding both existing/newly created index both are set as "not selectable" at the time of building BUILD Index/%BuildIndices(). As per the documentation about the live system "not selectable" by default in BUILD INDEX. So, Does it applicable for programmatic %BuildIndices() as well?
%BuildIndices is required if the indexed values are manipulated directly in the Global.
OR if the index definition is changed in Class or By DDL
during use as Object or SQL table it is maintained automatically.