InnoDB uses simulated asynchronous disk I/O:
        InnoDB creates a number of threads to take
        care of I/O operations, such as read-ahead.
      
        There are two read-ahead heuristics in
        InnoDB:
      
            In sequential read-ahead, if InnoDB
            notices that the access pattern to a segment in the
            tablespace is sequential, it posts in advance a batch of
            reads of database pages to the I/O system.
          
            In random read-ahead, if InnoDB notices
            that some area in a tablespace seems to be in the process of
            being fully read into the buffer pool, it posts the
            remaining reads to the I/O system.
          
        InnoDB uses a novel file flush technique
        called doublewrite. It adds safety to
        recovery following an operating system crash or a power outage,
        and improves performance on most varieties of Unix by reducing
        the need for fsync() operations.
      
        Doublewrite means that before writing pages to a data file,
        InnoDB first writes them to a contiguous
        tablespace area called the doublewrite buffer. Only after the
        write and the flush to the doublewrite buffer has completed does
        InnoDB write the pages to their proper
        positions in the data file. If the operating system crashes in
        the middle of a page write, InnoDB can later
        find a good copy of the page from the doublewrite buffer during
        recovery.
      


User Comments
Add your own comment.