标签:mysql

数据存储

Mybatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!

发布于 2020-10-03

前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少。 新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知如何下手,希望通过Mybatis框架使用不当导致的SQL注入问题为例,能够抛砖引玉给新手...

阅读(131)评论(0)赞 (1)

数据存储

为什么 MySQL 使用 B+ 树

发布于 2020-09-28

为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确,大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真正回答 MySQL 为什么选择使用 B+ 树这个问题,我们在这篇文章中就会深入分析...

阅读(166)评论(0)赞 (0)

数据存储

记一次神奇的 SQL 查询经历,group by 慢查询优化

发布于 2020-09-20

一、问题背景   现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下: 我在测试环境构造了500万条数据,模拟了这个慢查询。 简单来说,就是查询一定条件下,都有哪些用户的。很简单的sql,可以看到,查询耗时为37秒。 说一下app_...

阅读(174)评论(0)赞 (0)

数据存储

MySQL 自增 id 超大问题查询

发布于 2020-09-20

引言   小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala……” 我记得没有这么多,最多...

阅读(137)评论(0)赞 (0)

数据存储

MySQL 全文索引实现简单版搜索引擎

发布于 2020-09-19

前言 只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char、varchar、text类型字段能创建全文索引(fulltext index type) 全文索引的基于关键词的,如何区分不同的关键词了,就要用到分词(sto...

阅读(151)评论(0)赞 (0)

数据存储

掌握了这 30 道 MySQL 基础面试题,我成了面霸

发布于 2020-09-17

一个典型的互联网产品架构包含接入层、逻辑处理层以及存储层,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。说到存储层就要说到数据库,数据库知识掌握程度也是面试考察的知识点。 典型服务架构 数据库分为关系型数据库和非关系型数据库,也就是我们常说的 SQ...

阅读(179)评论(0)赞 (0)

数据存储

MySQL 常用分库分表方案,都在这里了!

发布于 2020-09-16

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

阅读(247)评论(0)赞 (0)

数据存储

MySQL 大表优化方案

发布于 2020-09-10

单表优化 读写分离 缓存 表分区 垂直拆分 水平拆分 兼容MySQL且可水平扩展的数据库 NoSQL 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的...

阅读(174)评论(0)赞 (0)