Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!
What is difference purge() and DO_TM_TASK('mergeout') ?
What is difference purge() and DO_TM_TASK('mergeout') ?
Is the purge mergeout's sub task??
0
Leave a Comment
Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.
Answers
PURGE permanently removes delete vectors from ROS storage containers so disk space can be reused.
SELECT DO_TM_TASK('mergeout'); runs a Tuple Mover operation to merge ROS containers.
Purging deleted records in a storage container requires a rewrite of the storage container. Purging deleted records more often than is necessary results in a significant increase in I/O. Because the I/O can increase significantly, Vertica purges deleted records only when storage containers are rewritten by node-based operations, such as:
The mergeout operation merges ROS containers that qualify for mergeout based on a strata algorithm for active partitions and for tables without partitions. During mergeout, the Tuple Mover purges any records from qualifying ROS containers deleted prior to the AHM epoch.
When a new partition is created, the current active partition becomes inactive. ROS containers of the most recent inactive partition are merged into a single ROS container. Records deleted prior the AHM epoch are purged during this process.
See: https://www.vertica.com/kb/Deletes-in-Vertica-The-FAQs/Content/FAQs/Deletes-in-Vertica-The-FAQs.htm