自适应hash索引--类似根据查询条件来做hash 优点是减少对二级索引的使用 缺点是运用了太多的内存 而且无序
lru last recent used 最少使用算法 缓存失效淘汰算法
InnoDB作为MySQL支持事务的存储引擎,同Oracle类似,事务提交时需要写redo、undo log。 InnoDB采用预写日志(Write Ahead Log)策略,数据页的变更会首先在内存中完成,同时将事务操作顺序记录到redo log中。完成上述的操作后表示该事务已经完成,可以返回给应用已提交的信息。 但此时实际被更改的数据页还保存在内存中(称为脏页),并没有flush到磁盘上即没有落地。刷盘操作一般会在达到一定条件后,触发checkpoint机制,此时会将内存中的脏页合并写入到磁盘里,完成数据同步。刷盘策略由innodb_flush_log_at_trx_commit参数控制的策略
所以数据库也是存在丢失数据的可能的。当还没flush到硬盘的时候存在丢失可能
-所以使用半同步机制其实可以将binlog同步到第二台机器 当第一天crash 数据没flush的时候 第二台机器其实还能接管服务 恢复数据