Skip to content
  • Annamalai Gurusami's avatar
    4524b5f8
    WL#11328 InnoDB: Optimizing Small Changes to BLOBs · 4524b5f8
    Annamalai Gurusami authored
    This is a follow up worklog for WL#8960.  In WL#8960, the minimum
    change to a BLOB is a single LOB page.  Even if only a few bytes are
    modified, minimum one LOB page will be modified.  So, there is scope
    for improvement for small changes to the BLOBs.
    
    The solution provided by WL#8960 is a general solution suitable for
    all sizes of BLOBs and for all size of changes (from few bytes to even
    1GB of changes).  But it is less efficient for small changes done to
    the BLOBs.  Also, in the case of WL#8960, the old versions of BLOBs
    are stored in the BLOB itself.  Undo log format is not changed.
    
    To optimize small changes to the BLOBs, we plan to do the regular undo
    logging.  For this the undo log format needs to be changed.  When a
    BLOB is modified/updated, then we need to store the old and new
    portion of the BLOB in the undo log record.  Currently there is a
    restriction that the undo log record must fit within an undo log page.
    We need to perform our operation within that constraint.
    4524b5f8
    WL#11328 InnoDB: Optimizing Small Changes to BLOBs
    Annamalai Gurusami authored
    This is a follow up worklog for WL#8960.  In WL#8960, the minimum
    change to a BLOB is a single LOB page.  Even if only a few bytes are
    modified, minimum one LOB page will be modified.  So, there is scope
    for improvement for small changes to the BLOBs.
    
    The solution provided by WL#8960 is a general solution suitable for
    all sizes of BLOBs and for all size of changes (from few bytes to even
    1GB of changes).  But it is less efficient for small changes done to
    the BLOBs.  Also, in the case of WL#8960, the old versions of BLOBs
    are stored in the BLOB itself.  Undo log format is not changed.
    
    To optimize small changes to the BLOBs, we plan to do the regular undo
    logging.  For this the undo log format needs to be changed.  When a
    BLOB is modified/updated, then we need to store the old and new
    portion of the BLOB in the undo log record.  Currently there is a
    restriction that the undo log record must fit within an undo log page.
    We need to perform our operation within that constraint.
Loading