个人简介

Echo Blog


江湖无名 安心练剑
  • mysql(6)transaction 事务
    事务(Transaction) 是数据库区别于文件系统的重要特性之一。 在文件系统中, 如果正在写文件,但是操作系统突然崩溃了,这个文件就很有可能被破坏。 当然,有一些机制可以把文件恢复到某个时间点。不过,如果需要保证两个文件同步,这些文件系统可能就显得无能为力了。 例如,在需要更新两个文件时,更新完一个文件后,在更新完第二个文件之前系统重启了,就会有两个不同步的文件。 这正是数据...
    2020-10-17 08:15:55 | Database
  • mysql(6)lock mysql 锁
    锁 开发多用户、数据库驱动的应用时,最大的一个难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要确保每个用户能以一致的方式读取和修改数据。 为此就有了锁(locking ) 的机制, 同时这也是数据库系统区别于文件系统的一个关键特性。 InnoDB 存储引擎较之MySQL数据库的其他存储引擎在这方面技高一筹, 其实现方式非常类似于Oracle数据库 。而只有正确了解这些锁...
    2020-10-17 08:15:55 | Database
  • mysql(6)Index 索引
    索引 索引是应用程序设计和开发的一个重要方面。 若索引太多,应用程序的性能可能会受到影响。而索引太少,对查询性能又会产生影响。 要找到一个合适的平衡点,这对应用程序的性能至关重要。 一些开发人员总是在事后才想起添加索引——我一直认为,这源于一种错误的开发模式。 如果知道数据的使用,从一开始就应该在需要处添加索引。 开发人员往往对于数据库的使用停留在应用的层面, 比如编写SQL语句...
    2020-10-17 08:15:55 | Database
  • mysql-06-mysql index 索引失效 效果不好的情况
    索引失效 在工作中,如果我们想提高一条语句查询速度,通常都会想对字段建立索引。 但是索引并不是万能的。建立了索引,并不意味着任何查询语句都能走索引扫描。 稍不注意,可能你写的查询语句是会导致索引失效,从而走了全表扫描,虽然查询的结果没问题,但是查询的性能大大降低。 今天就来跟大家盘一盘,常见的 6 种会发生索引失效的场景。 不仅会用实验案例给大家说明,也会清楚每个索引失效的原因。 ...
    2020-10-17 08:15:55 | Database
  • mysql(6)Index 索引常见问题
    什么是索引? 当你想查阅书中某个知识的内容,你会选择一页一页的找呢? 还是在书的目录去找呢? 傻瓜都知道时间是宝贵的,当然是选择在书的目录去找,找到后再翻到对应的页。 书中的目录,就是充当索引的角色,方便我们快速查找书中的内容,所以索引是以空间换时间的设计思想。 那换到数据库中,索引的定义就是帮助存储引擎快速获取数据的一种数据结构,形象的说就是索引是数据的目录。 所谓的存储引擎,...
    2020-10-17 08:15:55 | Database
  • mysql(6)Index 从数据页的角度看 B+ 树
    从数据页的角度看 B+ 树 大家背八股文的时候,都知道 MySQL 里 InnoDB 存储引擎是采用 B+ 树来组织数据的。 这点没错,但是大家知道 B+ 树里的节点里存放的是什么呢?查询数据的过程又是怎样的? 这次,我们从数据页的角度看 B+ 树,看看每个节点长啥样。 InnoDB 是如何存储数据的? MySQL 支持多种存储引擎,不同的存储引擎,存储数据的方式也是不同的,我...
    2020-10-17 08:15:55 | Database
  • mysql(5)表
    4.1索引组织表 在InnoDB存储引擎中, 表都是根据主键顺序组织存放的, 这种存储方式的表称为索引组织表(index organized table) 。 在InnoDB存储引擎表中, 每张表都有个主键(PrimaryKey) , 如果在创建表时没有显式地定义主键, 则InnoDB存储引擎会按如下方式选择或创建主键: (1)首先判断表中是否有非空的唯一索引(Unique NOT N...
    2020-10-17 08:15:55 | Database
  • mysql(4)文件系统
    二进制日志 二进制日志( binary log) 记录了对MySQL数据库执行更改的所有操作, 但是不包括SELECT和SHOW这类操作, 因为这类操作对数据本身并没有修改。 然而, 若操作本身并没有导致数据库发生变化,那么该操作可能也会写入二进制日志。 例子 例如: mysql> insert into user (user_id, user_name, remark) v...
    2020-10-17 08:15:55 | Database