2021年5月12日

【33期】分别谈谈联合索引生效和失效的条件

摘要: 这道题考查索引生效条件、失效条件。像这类问题才其实很有意义,建议各位以后面试其他伙伴的时候,多侧重这类问题的提问,比考察一般概念性的问题好多了。 能大概考察应聘者对写的程序是有注重做优化,提高代码质量和程序性能呢 还是只简单的CV了事。 联合索引失效的条件 联合索引又叫复合索引。两个或更多个列上的索 阅读全文

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

经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!

摘要: 最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下: 这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,addres 阅读全文

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

三种 MySQL 大表优化方案

摘要: 问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法 阅读全文

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

图解 MySQL 索引:B-树、B+树

摘要: 看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引....或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!本文中有关存储引擎请查看MySQL存储引擎-InnoDB和MyISA 阅读全文

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

24个必须掌握的数据库面试问题~

摘要: 一、为什么用自增列作为主键 1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。 如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。 如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引 阅读全文

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

如何快速安全的插入千万条数据?

摘要: 前言 最近有个需求解析一个订单文件,并且说明文件可达到千万条数据,每条数据大概在20个字段左右,每个字段使用逗号分隔,需要尽量在半小时内入库。 思路 1.估算文件大小 因为告诉文件有千万条,同时每条记录大概在20个字段左右,所以可以大致估算一下整个订单文件的大小,方法也很简单使用FileWriter 阅读全文

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

经验:MySQL 百万级数据量分页查询如何优化?

摘要: 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条 阅读全文

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

分库分表之后,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) 编辑

导航