MySQL学习之SQL优化(索引优化)
摘要:一、如何选择合适的列建立索引 在where从句,group by从句,order by从句,on从句中出现的列 索引字段越小越好 离散度大的列放到联合索引的前面 explain select * from payment where staff_id=2 and customer_id=584; -
阅读全文
posted @
2020-05-28 16:18
kosamino
阅读(823)
推荐(0) 编辑
MySQL学习之EXPLAIN执行计划详解及最佳实践
摘要:备注: 环境mysql5.6.38 一、EXPLAIN执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的,分析 你的查询语句或者表结构的性能瓶颈。 语法 :Explain + SQL语句 在 select 语句之前增加 explain 关键
阅读全文
posted @
2020-05-25 23:57
kosamino
阅读(829)
推荐(0) 编辑
MySQL学习之Mysql锁&事务隔离级别
摘要:一、锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共 享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度
阅读全文
posted @
2020-05-23 19:18
kosamino
阅读(470)
推荐(0) 编辑
Mybatis学习之核心原理代码详解
摘要:一、SelectOne和自定义方法区别 首先我们来看看我们有两种方式实现Mybatis调用,一种是XML,一种是注解,分别如下: SqlSession session = sqlSessionFactory.openSession(); try { //方式一:mapper配置文件XML配置SQL
阅读全文
posted @
2020-05-20 19:53
kosamino
阅读(781)
推荐(0) 编辑
Mybatis学习之工作流程代码详解
摘要:一、整体流程 Mybatis是一种ORM对象关系映射架构,实现Java Object和数据库字段映射。 如上图所示,Mybatis就是根据Java配置的数据源(driver、url、username、password)以及Mapper配置SQL(DQL查询、DML修改、DDL create)语句,基
阅读全文
posted @
2020-05-19 18:16
kosamino
阅读(470)
推荐(0) 编辑
Mybatis学习之核心配置详解
摘要:MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: 一、属性(properties) 这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。例如
阅读全文
posted @
2020-05-15 08:03
kosamino
阅读(558)
推荐(0) 编辑
Mybatis学习之Mybatis Demo入门使用
摘要:一、传统JDBC 在有Mybatis之前,我们都是怎么访问数据库的呢,是通过JDBC,那么JDBC是如何访问的呢,首先引入数据库连接jar包: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifa
阅读全文
posted @
2020-05-13 22:00
kosamino
阅读(933)
推荐(0) 编辑
缓存穿透解决方案之布隆过滤器(Bloom Filter)原理及Guava中的实现
摘要:一、什么是缓存穿透 当用户想要查询一个数据,发现redis内存数据库没有,出现缓存未命中,于是转向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库,给持久层数据库造成很大的压力,这就是缓存穿透。 于是我们就需要有一个能实现“快速判断是否存在
阅读全文
posted @
2020-05-13 14:44
kosamino
阅读(3484)
推荐(0) 编辑