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 not selectable, 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
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.