更新MySQL Innodb索引统计信息

更新MySQL Innodb索引统计信息,mysql,database,Mysql,Database,我们有一个大型MySQL 5.5数据库,其中每天插入许多行,从未删除或更新。也有用户查询实时数据库。桌子是MyISAM。 但实际上运行ANALYZE表是不可能的,因为它花费的时间太长了。因此,查询优化器通常会选择错误的索引。(15个小时,有时会撞坏桌子。) 我们想尝试切换到所有InnoDB。我们是否需要运行分析表 MySQL文档说: 表的每个索引中的基数(不同键值的数目) 在打开表格时,在“显示表格状态”和“分析表格”下计算 在其他情况下(如表格变化过大) 但这回避了一个问题:什么时候开桌子?如

我们有一个大型MySQL 5.5数据库,其中每天插入许多行,从未删除或更新。也有用户查询实时数据库。桌子是MyISAM。 但实际上运行ANALYZE表是不可能的,因为它花费的时间太长了。因此,查询优化器通常会选择错误的索引。(15个小时,有时会撞坏桌子。)

我们想尝试切换到所有InnoDB。我们是否需要运行分析表

MySQL文档说: 表的每个索引中的基数(不同键值的数目) 在打开表格时,在“显示表格状态”和“分析表格”下计算 在其他情况下(如表格变化过大)

但这回避了一个问题:什么时候开桌子?如果这意味着在连接过程中被访问,那么我们不需要做任何特殊的事情。但我认为InnoDB的情况并非如此

那么,最好的方法是什么?是否定期运行分析表?也许潜水次数增加了

还是一切都会自动发生

查询用户使用应用程序获取数据,因此每次运行都是一个单独的连接。他们通常不希望行在几分钟内更新