Skip to content
  • Shaohua Wang's avatar
    809bc0e2
    Bug#19865673 DDL LIKE ADD INDEX IS VERY SLOW IN 5.7.5 · 809bc0e2
    Shaohua Wang authored
    
    
    Analysis:
    We have a checkpoint at the end of bulk load to flush all dirty pages to disk,
    because we disable redo logging for bulk load. It works well for big table, but
    not for small table in heavy work load.
    
    Solution:
    Only flush the dirty pages modified by the bulk load. the main idea is to set a
    flush observer to these dirty pages when committing mtr during a bulk load. When
    a page is submitted to flush or a page is flushed to disk, it notifies the
    observer. We scan flush list in buffer pool and flush dirty pages with the
    observer at the end of the bulk load, and wait for all the flushes to finish.
    
    Reviewed-by: default avatarJimmy Yang <jimmy.yang@oracle.com>
    RB: 8238
    809bc0e2
    Bug#19865673 DDL LIKE ADD INDEX IS VERY SLOW IN 5.7.5
    Shaohua Wang authored
    
    
    Analysis:
    We have a checkpoint at the end of bulk load to flush all dirty pages to disk,
    because we disable redo logging for bulk load. It works well for big table, but
    not for small table in heavy work load.
    
    Solution:
    Only flush the dirty pages modified by the bulk load. the main idea is to set a
    flush observer to these dirty pages when committing mtr during a bulk load. When
    a page is submitted to flush or a page is flushed to disk, it notifies the
    observer. We scan flush list in buffer pool and flush dirty pages with the
    observer at the end of the bulk load, and wait for all the flushes to finish.
    
    Reviewed-by: default avatarJimmy Yang <jimmy.yang@oracle.com>
    RB: 8238
Loading