摘要:
MySQL索引优化与查询优化 索引我们都经常使用,但是你是否真正的搞懂了索引的正确使用方式呢?今天,我就带你好好看看索引的正确使用姿势以及优化。 1、数据准备 在正式开始讲解之前,我们先准备一些演示的数据,正所谓磨刀不误砍柴工嘛! 学员表 插 50万 条, 班级表 插 1万 条。 步骤1:建表 CR 阅读全文
摘要:
MySQL中保证数据不丢失主要是binlog和redo log 的功劳,下面我们就看看MySQL是怎么保证这两种日志不丢失的。 binlog的写入机制 binlog 的写入逻辑比较简单:事务执行过程中,先把日志写到 binlog cache,事务提交的时候,再把 binlog cache 写到 bi 阅读全文
摘要:
创建数据库 create database 数据库名; 查看数据库 show databases; 选择数据库 use 数据库名; 删除数据库 drop database 数据库名; 清空数据库 truncate 数据库名; 创建表 create table 表名(属性名1 数据类型 ,属性名2 数 阅读全文
摘要:
1. 查看存储引擎 查看mysql提供什么存储引擎: show engines; show engines \G; 显式如下: *************************** 1. row *************************** Engine: InnoDB Support: 阅读全文
摘要:
废话不多说,今天我们来讲解 MySQL 的事务吧 😃😃😃 一、事务的概念 那到底何为事务呢? 我们把需要保证原子性 、隔离性、一致性和持久性的一个或多个数据库操作称之为一个事务 。 它大致分为如下几个状态: 活动的(active) 事务对应的数据库操作正在执行过程中时,我们就说该事务处在活动的 阅读全文
摘要:
我们都知道,MySQL 是基于磁盘存储的数据库,那我们每次查询一个页的记录时都得从磁盘加载整个页进内存然后读取呢,那这样既不是很慢。所以 MySQL 实现了一种叫做 Buffer Pool 的玩意,那 Buffer Pool 是啥玩意呢,我们接着往下看 🤩🤩🤩 一、Buffer Pool 其实 阅读全文
摘要:
1. 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了观察(Show status) 和行动(Action) 两个部分。字母 S 的部分代表观察(会使 用相应的分析工具),字母 A 代表的部分是行动(对应分析可以采取的行动)。 阅读全文
摘要:
1. 主从复制概述 1.1 如何提升数据库并发能力 此外,一般应用对数据库而言都是“ 读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。但并不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本 阅读全文
摘要:
自增id用完怎么办 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 个字节,上限就是 \(2^{32}\)-1。 既 阅读全文
摘要:
一、事务回滚的需求 我们说过事务需要保证原子性 ,也就是事务中的操作要么全部完成,要么什么也不做。但是偏偏有时候事务执行到一半会出现一些情况,比如: 情况一:事务执行过程中可能遇到各种错误,比如服务器本身的错误,操作系统错误,甚至是突然断电导致的错误。 情况二:程序员可以在事务执行过程中手动输入 R 阅读全文