%SYS.Maint.Bitmap
persistent class %SYS.Maint.Bitmap extends %Library.Persistent [ Final ]
SQL Table Name: %SYS_Maint.Bitmap
This utility is used to compact bitmap/bitslice indices. Over time in a volatile table (think lots of INSERTs and DELETEs) the storage for a bitmap index may become less efficient. To a lesser extent index value changes, i.e. UPDATES, can also degrade bitmap performance.
This utility can by run on a live system. It will loop over all bitmap/bitslice indices in a class or namespace and compact them by either removing a chunk that is all zeros or by using $BITLOGIC() to compact the bits.
The Utility has 2 entry points:
d ##class(%SYS.Maint.Bitmap).Namespace("Samples",1,1,"2014-01-17 09:00:00")
d ##class(%SYS.Maint.Bitmap).OneClass("BitMap.Test",1,1)
Property Inventory
- ClassName
- CompressionAmount
- ElapseTime
- IndexName
- Message
- Namespace
- NewSize
- NumberCompressed
- OldSize
- StartTime
- Status
- StopTime
Method Inventory
Properties
Methods
Entry point to compact all bitmaps in a namespace.
Each run records its' status in this class
If the last run did not finish then it will pick up where it stopped
This utility will only Compact globals in the default database
Parameters:
- ns - Namespace you want to compact
- NoJournal - Stop journaling for this Process
- 1 to Stop Journaling
- 0 to continue Journaling default = 0
- Display - write info to the current device
- 1 to write to the device
- 0 to not write to the device default = 0
- StopTime - Timestamp for when the utility should stop.
- The stop time is tested after each index is finished so it could go over.
- A value of NULL means not limit
Entry point to compact all bitmaps in one class.
Each run records its' status in this class
This utility will only Compact globals in the default database
Parameters:
- ClassName - Class you want to compact
- NoJournal - Stop journaling for this Process
- 1 to Stop Journaling
- 0 to continue Journaling default = 0
- Display - write info to the current device
- 1 to write to the device
- 0 to not write to the device default = 0
- StopTime - Timestamp for when the utility should stop. The stop time is tested after each index is finished so it could go over.
- a value of NULL means not limit
- StatusObj - This is either passed in from the Namespace Method or is defined in this method.
- This value should not be passed in if you are calling this method directly
Indexes
Inherited Members
Inherited Methods
- %%CLASSNAMELogicalToStorage()
- %%CLASSNAMEStorageToLogical()
- %AddToSaveSet()
- %AddToSyncSet()
- %BMEBuilt()
- %BuildIndicesAsync()
- %BuildIndicesAsyncResponse()
- %CheckConstraints()
- %CheckConstraintsForExtent()
- %ClassIsLatestVersion()
- %ClassName()
- %ComposeOid()
- %ConstructClone()
- %Delete()
- %DeleteExtent()
- %DeleteId()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Exists()
- %ExistsId()
- %Extends()
- %GUID()
- %GUIDSet()
- %GetLock()
- %GetParameter()
- %GetSwizzleObject()
- %Id()
- %InitExtentData()
- %InsertBatch()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %KillExtentData()
- %LoadFromMemory()
- %LockExtent()
- %LockId()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %Oid()
- %OnBeforeAddToSync()
- %OnDeleteFinally()
- %OnDetermineClass()
- %OnOpenFinally()
- %OnSaveFinally()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PhysicalAddress()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SaveIndices()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateIndices()
- %ValidateObject()
- %ValidateTable()
Storage
Storage Model: Storage (%SYS.Maint.Bitmap)
^%SYS.Maint.BitmapD(ID) |
= | StartTime
StopTime
Namespace
ClassName
IndexName
NumberCompressed
Status
OldSize
NewSize
|
Storage Model: Storage (%SYS.Maint.Bitmap)
^%SYS.Maint.BitmapD(ID,"Message",n) |
= | Message(n) |