Greetings, I know I can get the current undo log history length via:
show status like '%history%'; +----------------------------+-------+ | Variable_name | Value | +----------------------------+-------+ | Innodb_history_list_length | 854 | +----------------------------+-------+
but my understanding is that at any given point in time that number represents both the records that can be purged because they are no longer needed by any current transactions (and the purge threads for whatever reason haven't gotten to them yet), as well as those that cannot be purged yet because there are current transactions running that may still need them. So the question is, is there any way to know the difference between those two? I.E., how many are waiting to be purged and how many cannot yet be purged? And a related question. Will the undo log size (the physical size of the file) grow even when there are many entries in the history that can be purged first? Or are those unneeded records purged first and that space reused before the undo log is made larger? Or perhaps I'm mis-understanding the process? TIA, Dan