MySQL回表查询优化

在 InnoDB 中,从二级索引回到主键索引查询数据,这个过程称作回表过程,回表过程是可以优化的,这个优化就是利用覆盖索引。先说结论,如果一个索引的字段包含了所有要查询的字段,这个索引就称作覆盖索引,覆盖索引可以减少回表过程,能有效提高查询效率。在 InnoDB 中数据都是保存在 B+ 树上,主键索引保存了整行记录,二级索引保存了主键的值。一次查询操作,要么是遍历主键索引,要么是遍历二级索引,要么

- 阅读全文 -

在查询并修改的场景下扣款操作如何保持数据一致性

查询并修改场景下扣款操作保持数据一致性用户购买商品逻辑伪代码如下1,计算用户购买商品的价格,比如是10元2,查询用户余额select money from user where user_id = 1; // 例如结果是1003,计算扣款后的价格 100 - 10 = 90 4,更新用户余额update user set money = 90 where user_id = 1;以上在并发的情况

- 阅读全文 -

MySQLBlackHole(黑洞)引擎浅析及场景

黑洞(BlackHole)是MySQL的一种引擎,就像常用的innodb myisam黑洞引擎有个特性就是不保存实际数据,只记录binlog使用场景:在主从架构种,如果从节点很多,可以充当MASTER和SLAVE间的PROXY,缓解MASTER的压力,还可以在伪主库中(黑洞的代理服务)配置replicate-do和replicate-ignore规则,过滤不需要同步的表加入黑洞充当的代理之前加入黑

- 阅读全文 -

最新文章

最近回复

分类

标签

归档