![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 73
败给你的黑色幽默丶
if i say you're the one would you believe me;
if i ask you to stay would you show me the way
展开
-
【Mysql高级】【第十五章】【锁】
1.概述事务的隔离性由锁来实现2.Mysql并发实务访问相同记录并发事务访问相同记录的情况大致可以划分为3种:2.1 读-读2.2 写-写锁结构和事务是一一对应的,有几个事务,就会生成几个锁结构,如果该记录还有别的事务要进行操作,会对别的事务也建立锁结构!锁的生成事务T1 提交之前事务t1 提交之后小结2.3 读-写或者写-读2.4 并发问题的解决方案读MVCC ,写加锁读和写都加锁场景:读取的数据必须是最新数据脏读问题:B事务原创 2022-03-03 10:04:51 · 748 阅读 · 0 评论 -
【Mysql 高级】【第十六章】多版本并发控制
多版本并发控制1.什么是MVCC2.快照读和当前读2.1 快照读2.2 当前读3. 复习3.1 再谈隔离级别3.2 隐藏字段 Undo Log版本链4. MVCC实现原理之ReadView4.1 什么是ReadView4.2 不同隔离级别下的设计思路**Read Uncommited 隔离级别**Serializable隔离级别READ Committed 和 Repeatable read 隔离级别5. 举例说明5.1 READ COMMITTED隔离级别下5.2 REPEATABLE READ 隔离级别原创 2022-02-26 23:03:19 · 455 阅读 · 0 评论 -
【Mysql高级】【第十三章】【 事务基础知识】
事务基础知识1. 数据库事务概述1.1 存储引擎支持情况1.2 基本概念1.3 事务ACID特性1.4 事务的状态2. 如何使用事务2.1 显式事务2.2 隐式事务2.3 隐式提交数据的情况2.4 使用举例1:提交和回滚2.5 使用举例2:测试不支持事务的engine2.6 使用举例3:SAVEPOINT3. 事务隔离级别3.1 数据准备3.2 数据并发问题1.脏写2. 脏读3. 不可重复读4.幻读不可重复读和幻读的区别3.3 SQL标准中的四种隔离级别3.4 MySQL所支持的四种隔离级别3.5 如何设置原创 2022-02-11 16:26:52 · 1081 阅读 · 0 评论 -
【Mysql高级】【第十章】【 索引优化与查询优化】
索引优化与查询优化1.数据准备2.索引失效案例2.1 全职匹配我最爱2.2 最佳左前缀法则2.3主键插入顺序2.4 计算、函数 、类型转换 导致索引失效2.5 范围条件右边的列索引失效2.6 不等于(!= or <>)索引失效2.7 is null可以用索引,is not null不可以用索引2.8 like以通配符%开头索引失效2.9 OR前后存在非索引列,索引失效2.10 数据库和表的字符集统一使用uft8mb42.11 练习及一般性建议3.关联查询优化3.1 数据准备3.2 采用左外连接3原创 2022-02-10 15:42:21 · 936 阅读 · 0 评论 -
【Mysql高级】【第九章 性能分析流程及细节】
1.数据库服务器的优化步骤2.查看系统性能参数(S1)3.统计sql的查询成本(S1->A1)4.定位执行慢的SQL:慢查询日志(S2)当添加缓存后,仍然有不规则卡顿和延迟,此时需要定位是否有执行慢的SQL;而慢查询日志的作用就是定位执行慢的sql的4.1 开启慢查询日志参数查看慢查询日志文件修改long_query_time阈值配置文件中永久配置4.2 查看慢查询sql个数4.3 慢查询案例演示(创造现象)步骤2:插入400万条记录;步骤原创 2022-02-09 10:33:48 · 715 阅读 · 0 评论 -
【Mysql高级】【第八章 索引的创建和设计原则】
第八章 索引的创建和设计原则1.索引的声明和使用1.1 索引分类1.2 创建索引1.创建表的时候创建索引1.1 隐式创建索引1.2 显示创建索引2.在已经存在的表上创建索引1.3 删除索引2.Mysql8.0 索引新特性2.1 支持降序索引2.2 隐藏索引3. 索引的设计原则3.1 哪些情况适合创建索引1.字段的数值有唯一性限制2.频繁作为where查询条件的字段3.经常group by和order by的列4.update\delete语句中的where条件列5.distinct字段需要创建索引6.多表j原创 2022-02-08 12:01:17 · 576 阅读 · 3 评论 -
【Mysql】【高级篇】【第6章 索引】
https://www.bilibili.com/video/BV1iq4y1u7vj?p=1151.为什么使用索引索引的作用:减少磁盘I/O次数2.索引及其优缺点2.1 索引概述排好序的快速查找数据结构2.2 优点2.3 缺点(1)创建和维护耗时(2)索引站磁盘空间(3)更新表时,需要维护索引,耗时3.InnoDB中索引的推演https://www.bilibili.com/video/BV1iq4y1u7vj?p=116&spm_id_from=pageD原创 2022-01-29 20:26:34 · 2896 阅读 · 1 评论 -
【Mysql】【高级篇】【第5章 存储引擎】
1.查看存储引擎2.设置系统默认的存储引擎存储引擎和表息息相关,每张表都需要设置其存储引擎类型;这会影响改表底层的存储结构(1) 查看默认的存储引擎(2) 修改默认存储引擎3.设置表的存储引擎3.1 创建表时指定存储引擎3.2 修改表的存储引擎4. 引擎介绍5.5 版本之前默认是MyISAM,之后默认为InnoDB4.1 InnoDB引擎:具备外键支持功能的事务存储引擎(1)5.5版本后,默认表引擎改为InnoDB(2)InnoDB引擎有事务功能(3)在inser.原创 2022-01-29 12:06:15 · 2187 阅读 · 0 评论 -
【Mysql】【高级篇】【第4章 Mysql逻辑架构】【02】SQL执行流程
SQL执行流程1. Mysql中的SQL执行流程(1)查询缓存(2)解析器(3)优化器(4)执行器2. Mysql8中SQL执行原理2.1 确认profiling是否开启2.2 多次执行相同SQL查询2.3 查看profiles2.4 查看profileshowProfile高级用法3. Mysql5.7中SQL执行原理1.配置文件中开启查询缓存2.重启mysql服务3.开启查询执行计划4.执行语句两次5.查看profiles6.查看profile2.4 SQL语法顺序1. Mysql中的SQL执行流程原创 2022-01-28 16:19:48 · 693 阅读 · 0 评论 -
【Mysql】【高级篇】【第4章 Mysql逻辑架构】【01】逻辑架构剖析
1.逻辑架构剖析1.1 服务器处理客户端请求Mysql服务器端逻辑架构:1.2 Connectors原创 2022-01-28 16:09:29 · 1556 阅读 · 0 评论 -
【Mysql】【高级篇】【第02章】Mysql的数据目录
本章对后续了解Mysql索引有所帮助,但不是重点章节;1.Mysql8的主要目录结构1.1 数据库文件的存放路径1.1.1 windows系统库目录Mysql在安装的时候,配置文件中会指定Data目录,该目录下每一个目录代表一个数据库;表文件数据库目录下对应.idb格式的文件,就是数据表文件配置文件my.iniwindows系统下的mysql的配置文件为my.ini数据库服务器进程目录Mysql是一个服务端程序,是一个进程;下面就是服务器程序对应的物理文件bin目录:存放可执原创 2022-01-18 13:18:22 · 594 阅读 · 0 评论 -
【Mysql基础知识】
1.between and等价于 >= and <=不仅仅可以用于数值类型,也可以用于字符类型2.and orand的优先级高于or如果搞不清楚,直接用()搞定3.聚合函数count\sum\max\min\avg这五个聚合函数都不统计null值count(*) 等价于count(1)是统计行数count(字段) 是统计该字段不为null的个数聚合函数不结合group by 的话,那么全量数据作为一组聚合函数不能用在where子句是因为group by在wh原创 2021-11-17 23:48:39 · 547 阅读 · 0 评论 -
《面试八股文》之 MySQL 35卷
https://mp.weixin.qq.com/s/STB9rVRWrM_yZnrDDQoQ5w原创 2021-11-11 16:32:24 · 614 阅读 · 0 评论 -
MySQL数据类型
MySQL 的数据类型有大概可以分为 5 种:整数类型浮点数类型和定点数类型日期和时间类型字符串类型二进制类型等要知道,MySQL本质上是一个存储,以Java为例,可以使用byte类型的地方使用了long类型问题不大,因为绝大多数的对象在程序中都是短命对象,方法执行完毕这块内存区域就被释放了,7个字节实际上不存在浪不浪费一说。但是MySQL作为一个存储,8字节的BIGINT放那儿就放那儿了,占据的空间是实实在在的。1.整数类型1.五种整数类型TINYINT :1byteSMALLI原创 2021-11-05 16:03:10 · 149 阅读 · 2 评论 -
Mysql写SQL时一些细节问题
(1) 子查询加括号问题1.union 两个子查询 ,子查询可以不加括号SELECT product_id, new_priceFROM 55_productsWHERE (product_id,change_date )IN( SELECT product_id, MAX(change_date) change_date FROM 55_products WHERE change_date <= '2019-08-16' GROUP BY pro原创 2021-10-20 15:20:25 · 71 阅读 · 0 评论 -
SQL执行流程
https://www.cnblogs.com/annsshadow/p/5037667.htmlSELECT DISTINCT < select_list >FROM < left_table > < join_type >JOIN < right_table > ON < join_condition >WHERE < where_condition >GROUP BY < group转载 2021-09-01 10:47:47 · 62 阅读 · 0 评论 -
mysql where子句 将string值赋值给int字段
SQL如下:SELECT * FROM table_meta WHERE name_en LIKE '%ooo%' OR name_cn LIKE '%ooo%' OR STATUS = 'ooo'表数据如下:注意:status是int类型本以为查询结果只有name_en = oooo的结果发现查询结果为:于是手动将第二条数据的status改为1,再次执行此SQL查询结果只有status=0的参考:https://blog.csdn.net/asd051377305/artic原创 2021-08-13 15:45:03 · 742 阅读 · 0 评论 -
MySQL8.0.23 免安装版下载与安装
1.下载https://downloads.mysql.com/archives/community/下载后解压即可2.安装1.配置环境变量1.添加一个 MYSQL_HOME 为解压目录2.Path中添加: %MYSQL_HOME%\bin2.配置my.ini[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port = 3306# 设置mysql的安装目录basedir=D:\Free\原创 2021-08-10 18:17:21 · 191 阅读 · 0 评论