• Vasil Dimov's avatar
    Fix Bug#56340 innodb updates index stats too frequently after non-index updates · f7c83521
    Vasil Dimov authored
    This is a manual merge from mysql-5.1-innodb of:
    
      revno: 3618
      revision-id: vasil.dimov@oracle.com-20100930124844-yglojy7c3vaji6dx
      parent: vasil.dimov@oracle.com-20100930102618-s9f9ytbytr3eqw9h
      committer: Vasil Dimov <vasil.dimov@oracle.com>
      branch nick: mysql-5.1-innodb
      timestamp: Thu 2010-09-30 15:48:44 +0300
      message:
        Fix Bug#56340 innodb updates index stats too frequently after non-index updates
    
        This is a simple optimization issue. All stats are related to only indexed
        columns, index size or number of rows in the whole table. UPDATEs that touch
        only non-indexed columns cannot affect stats and we can avoid calling the
        function row_update_statistics_if_needed() which may result in unnecessary I/O.
    
        Approved by:	Marko (rb://466)
    
    In addition to the above message: we know that
    row_update_cascade_for_mysql() (the other place where
    row_update_statistics_if_needed is called) always updates indexed
    columns (FK-related), so there is no need to add this cond there.
    f7c83521
row0mysql.c 113 KB