MySQL索引
摘要:一、索引介绍 1、索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。 2、优缺点: 使用索引可以大大加快 数据的检索速度(大大减少检索的数据量), 这也是创建索引的最主要的原因 创建索引和维护索引需要耗费许多时间。 索引需要使用物理文件存储,也会耗费一定空间。 3、分
阅读全文
执行一条update会发生什么?
摘要:1、和查询语句一样也会走一遍连接器、解析器、预处理器、优化器、执行器 2、执行器在更新数据前,会先查看buffer pool中是否存在要更新的数据,如果不存在则从磁盘加载到buffer pool,存在则进行修改 3、innodb把旧值写入undo log 4、innodb把新值写到buffer po
阅读全文
MySQL事务隔离级别
摘要:一、事务的四大特性 原子性(Atomicity):事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性(Consistency):执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的; 隔离性(Isolation):
阅读全文
Redis学习笔记(一)
摘要:一、基本概念 Redis是一个开源的存储键值对的非关系型数据库,是内存数据库,用作数据库、缓存、消息队列和分布式锁。Redis提供了数据结构,如string、hash、list、set、zset、bitmap、hyperloglog、GEO、stream。Redis具有不同级别的磁盘持久性,并通过R
阅读全文
JDBC学习笔记
摘要:1、什么是JDBC? JDBC是一类接口,制定了统一访问各类关系型数据库的api,屏蔽了底层数据库的差异,可以通过JDBC API 方便地实现对各种主流数据库的操作。 2、开发步骤? 访问数据库时,首先要注册和加载数据库驱动,只需加载一次,然后在每次访问数据库时创建一个Connection实例,获取
阅读全文
执行一条select语句会发生什么
摘要:查询语句的执行流程如下:连接数据库,权限校验 >查询缓存 >分析器 >预处理器 >优化器 >权限校验 >执行器 >存储引擎 MySQL 的架构共分为两层:Server 层和存储引擎层,Server 层负责建立连接、分析和执行 SQL。存储引擎层负责数据的存储和提取。 1、连接数据库 通过连接器,客户
阅读全文
SQL聚合/多表/连接查询
摘要:一、聚合查询 使用SQL自带的聚合函数进行查询,有count()、AVG()、min()、max()、sum() 二、分组聚合查询 select 后面的字段 只能是group by后的字段 SELECT City,Gender, COUNT(*)FROM Students GROUP BY City
阅读全文
MySQL 一行记录是怎么存储的?
摘要:一、数据存在哪个文件 可以看到,共有三个文件,这三个文件分别代表着: db.opt,用来存储当前数据库的默认字符集和字符校验规则。 t_order.frm ,t_order 的表结构会保存在这个文件。在 MySQL 中建立一张表都会生成一个.frm 文件,该文件是用来保存每个表的元数据信息的,主要包
阅读全文