
数据库
文章平均质量分 84
放下我的小鱼干
这个作者很懒,什么都没留下…
展开
-
mysql索引
数据库中数据是存储在磁盘上的,读取数据时就会涉及到io,io一般都是我们系统瓶颈,为了提高查询效率,在从磁盘读取数据时,我们要尽可能的少的去读取数据(次数少、数量少),同时保证读取到的数据足够有效,我们一般系统中数据量大的表数据我们不可能一次把数据全部读取到内存中。以查询所有列数据,查询条件为shop_code = '301’为例,我们需要遍历页1 ----> 页3 ---->页7在页7拿到对应的主键ID,然后再遍历主键索引,页1 —> 页2 —>页6,最终找到一个完整的行数据所在页,拿到完整的数据。原创 2022-10-22 22:04:24 · 333 阅读 · 2 评论 -
MySQL索引
MySQL索引1:索引是什么?官方介绍索引是帮助MySQL 高效获取数据的数据结构。通俗来讲,数据库索引好比一本书的目录,能加快数据库的查询速度。一般来说,索引本身也很大,不可能全部存储在内存中,因此,索引往往是存储在磁盘上的文件中的。我们通常所说的索引,没有特别说明,都是指的B树(多路搜索树,并不一定是二叉结构)结构组织的索引。其中聚集索引、次要索引、覆盖索引、符合索引、前缀索引、唯一索...原创 2019-06-23 15:24:38 · 1186 阅读 · 0 评论 -
MySQL查看执行计划explain
MySQL执行计划 MySQL提供了一个EXPLAIN命令,它可以对SELECT语句进行分析,并输出SELECT执行的详细信息,以便于开发人员可以针对性的进行优化一:参数说明:explain 出来的信息有10列,分别为id、select type、table、type、possible keys、key、key len、ref、rows、extra一、id:每个select语句都会自动...原创 2019-06-30 18:32:25 · 460 阅读 · 0 评论 -
MySQL查询原理简述
一:MySQL查询1:单表查询根据where条件过滤表中的记录,每过滤一次形成一张中间表(中间表对用户是不可见的)。然后根据select的选择列返回最终的结果。2:两张表连接查询对两表求积(笛卡尔积:行相乘,列相加)并用on条件和连接类型进行过滤形成中间表,然后根据where条件过滤中间表的记录,并且根据select指定的列返回查询结果。3:多表连接查询先对第一个和第二个表按照两表连接...原创 2019-07-14 16:06:06 · 6140 阅读 · 0 评论 -
MySQL结构
MySQL逻辑结构图 v5.6原创 2019-07-14 16:42:39 · 375 阅读 · 0 评论 -
MySQL锁的简介
1:并发问题:同一时间进行读写,可能会引起数据不一致问题,2:解决并发问题:MySQL使用锁机制去解决并发问题3:锁的分类MySQL使用两种锁机制去解决该问题:共享锁和排他锁,也叫读锁或者写锁共享锁、读锁:不影响其他链接的读,写会受影响排他锁、写锁:会不让其他链接进行读写MySQL针对不同的数据粒度,又分别使用表锁和行锁进行锁定4:锁的实现MySQL是使用MV...原创 2019-07-07 15:34:28 · 115 阅读 · 0 评论 -
MySQL分库分分表
数据切分规则:水平切分(横向切分)和垂直切分(纵向切分)一:垂直切分可以分为:垂直分库和垂直分表垂直分库:主要解决的问题是单个数据库中数据表过多的问题。垂直分库的思路就是根据业务维度进行设计层面的切分如现在广泛使用的微服务架构,每个服务都包含了单独的数据表、表现层、业务层和持久层,每个服务负责一部分独立的业务处理。多个微服务协同完成一整套的业务流程。要按照ER关系进行垂直分库如下图...原创 2019-07-28 22:40:04 · 127 阅读 · 0 评论 -
数据库事物
一:什么是事物?事物指的是逻辑上一组操作,组成这个事物的各个执行单元,要么一起成功,要么一起失败。二:事物的特性 (ACID)原子性(Atomicity)原子性是指事物包含的所有操作要么全部成功,要么全部失败回滚。一致性(Consistency)一致性是指事物必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事物执行之前和执行之后都必须除以一致性状态。举个栗子:...原创 2019-07-21 15:56:30 · 220 阅读 · 0 评论