2021年5月12日

分库分表之后,id 主键如何处理?

摘要: 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析 基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次 阅读全文

posted @ 2021-05-12 22:17 凹凹凸凸 阅读(62) 评论(0) 推荐(0) 编辑

SQL 性能优化梳理

摘要: 先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。 1 基本概念简述 1.1 逻辑架构 第一层:客户端通过连接服务,将要执行的sql指令传输过来 第二层:服务器解析并优化sql,生成最终的执行计划并执行 第三层:存储引擎,负责数据的储存和提取 1.2 锁 数据库通过锁机制来 阅读全文

posted @ 2021-05-12 22:14 凹凹凸凸 阅读(37) 评论(0) 推荐(0) 编辑

如何去写一手好SQL ?

摘要: 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。 其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评 阅读全文

posted @ 2021-05-12 22:07 凹凹凸凸 阅读(63) 评论(0) 推荐(0) 编辑

一份完整的 MySQL 开发规范,进大厂必看!

摘要: 一、数据库命令规范 1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4、临时库表必须以tmp_为前缀并以日期为后缀,备份表 阅读全文

posted @ 2021-05-12 22:03 凹凹凸凸 阅读(76) 评论(0) 推荐(0) 编辑

老大批评我不要为了“分库分表”而“分库分表”

摘要: 当数据库的数据量过大,大到一定的程度,我们就可以进行分库分表。那么基于什么原则,什么方法进行拆分,这就是本篇所要讲的。 数据库瓶颈 不管是 IO 瓶颈还是 CPU 瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。 在业务 Service 来看, 就是可用数据 阅读全文

posted @ 2021-05-12 21:38 凹凹凸凸 阅读(73) 评论(0) 推荐(0) 编辑

一文学会常用 MySQL 分库分表方案

摘要: 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓 阅读全文

posted @ 2021-05-12 21:30 凹凹凸凸 阅读(371) 评论(0) 推荐(0) 编辑

【53期】面试官:谈一下数据库分库分表之后,你是如何解决事务问题?

摘要: 一、概述 随着时间和业务的发展,数据库中表的数据量会越来越大,相应地,数据操作,增删改查的开销也会越来越大。因此,把其中一些大表进行拆分到多个数据库中的多张表中。 本篇文章是基于非事务消息的异步确保的方式来完成分库分表中的事务问题。 二、需要解决问题 2.1 原有事务 由于分库分表之后,新表在另外一 阅读全文

posted @ 2021-05-12 21:23 凹凹凸凸 阅读(82) 评论(0) 推荐(0) 编辑

分库分表的 4 个面试连环炮问题!不会就惨了

摘要: 一、面试题 为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)? 用过哪些分库分表中间件? 不同的分库分表中间件都有什么优点和缺点? 你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 二、面试官心理分析 其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的 阅读全文

posted @ 2021-05-12 21:09 凹凹凸凸 阅读(109) 评论(0) 推荐(0) 编辑

2021年5月10日

Java开发最常犯的10个错误,打死都不要犯

摘要: 阅读目录 Array转ArrayList 判断一个数组是否包含某个值 在循环内部删除List中的一个元素 HashTable与HashMap 使用集合原始类型(raw type) 访问级别 ArrayList和LinkedList 可变与不可变 父类和子类的构造方法 “”还是构造方法 这个列表总结了 阅读全文

posted @ 2021-05-10 21:57 凹凹凸凸 阅读(89) 评论(0) 推荐(0) 编辑

面试问烂的 MySQL 四种隔离级别,看完吊打面试官!

摘要: 什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前 阅读全文

posted @ 2021-05-10 21:50 凹凹凸凸 阅读(39) 评论(0) 推荐(0) 编辑

导航