说说MySQL数据库索引的底层数据结构
Java面试题:说说MySQL数据库索引的底层数据结构 得分点 B+树 标准回答 索引可选的底层数据机构包括: 二叉树、红黑树 、hash、B-tree ,但mysql索引的底层用的并不是二叉树和红黑…
并发导致丢失更新问题的多种解决方案
本文是京东团队在实战过程中出现由于并发问题导致丢失更新情况,从而提供的多种解决方案实现思路,大家可以参考借鉴下。 1. 问题背景 问题出现在快递分拣流程中,我将业务背景进行简化,侧重于突显并发问题。 …
一个小公司前端开发程序员的心酸事
背景 简单来说,我在2022年6月加入了一家小型创业公司。这家公司是一家刚起步的企业,老板对技术和管理都不是很了解。他充满激情,依靠对实体运输行业的了解以及盲目自信,决定创办这家公司。然而,随着时间推…
Lock和Synchronized的具体区别
在求职面试中也会经常被问到关于synchronized和Lock的问题,毕竟在分布式开发中,锁是控制线程的重要方式。synchronized和Lock都是Java中用来解决线程安全问题的一个工具,那么…
Seata的AT模式会引发脏读吗?如何解决?
Seata是一款分布式事务处理应用的框架,不少开发者心中都有一个疑问:Seata的AT模式会不会出现脏读呢?答案是肯定的,不过它出现的脏读情况和传统意义上的脏读有所不同。传统脏读指的是在MySQL本地…
解决MyBatis报错“Error querying database. Cause: java.lang.NumberFormatException”错误
今天就和大家分享一次我遇到的“Error querying database. Cause: java.lang.NumberFormatException: For input string: “x…
MySQL如何使用MVCC解决脏读、不可重复读和幻读问题
本文主要讲解MySQL如何使用MVCC解决脏读、不可重复读和幻读问题相关内容,我们一起来学习下! 并发情况下,读操作可能存在脏读、不可重复读和幻读的问题。可以通过MVCC(Multi-Version …
mysql如何分批迁移表数据到新表
本文重点将mysql如何分批迁移表数据到新表的操作,如果一个表的数据太多,量级到百万或千万,我们该如何分批将大量数据迁移到新表中呢?如果之前我们讲过《Java实现mysql表数据定时迁移和归档》有兴趣…
如何解决MySQL中innodb_force_recovery不生效问题
MySQL数据库的使用过程中,当InnoDB存储引擎中的数据表出现损坏时,为了防止造成更严重的损害,InnoDB存储引擎通常会让MySQL服务器崩溃。这种情况下,innodb_force_recove…
MySQL主键与索引设计:从USING BTREE到业务场景实战
在设计MySQL数据库表结构的时候,索引可是个相当重要的环节,它就像图书馆的目录,能让我们快速找到想要的数据。不管是在建表时直接定义主键和索引,还是后续通过修改表结构或单独创建索引的方式来优化查询性能…