![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 77
mysql
@人间捡故事
这个作者很懒,什么都没留下…
展开
-
MySQL 17 - 数据库锁
数据库锁 数据库锁: 表锁 行锁 间隙锁 锁是计算机协调多个进程或线程并发访问某一资源的机制 1.表锁 表锁(偏读) 偏向MyISAM存储引擎,开销小,加锁快;无死锁,锁定粒度大,发送锁冲突的概率最高,并发度低 表锁案例 建表 create table mylock( id int not null primary key auto_increment, name varchar(20) )engine myisam; 插入数据 insert into mylock(name) va原创 2021-01-17 17:36:03 · 99 阅读 · 0 评论 -
MySQL 16 -慢查询日志 和 批量插入函数
慢查询日志 1. 慢查询日志 如果发现数据库有问题 跑得很慢就需要检查一下 分析 1.观察,至少跑一天,看看生产的慢SQL情况 2.开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并抓取出来 3.explain + 慢SQL分析 4.show profile 5.进行SQL数据库服务器的参数调优(运维orDBA来做) 总结 1.慢查询的开启并捕获 2.explain+慢SQL分析 3.show profile查询SQL在MySQL服务器里面的执行细节 4.SQL数据库服务器的参数调优 慢查询原创 2021-01-12 18:07:18 · 163 阅读 · 0 评论 -
MySQL 15- MySQL优化三
MySQL优化三 1. 排序优化 永远小表驱动大表 for i in range(5): for j in range(1000): pass for i in range(1000): for j in range(5): pass order by优化 order by子句,尽量使用index方式排序,避免使用filesort方式排序 建表,插入测试数据 create table tbla( age int, birth timestamp not null原创 2021-01-11 20:42:28 · 114 阅读 · 0 评论 -
MySQL 14- MySQL优化二
MySQL优化二 1. 索引优化案例 单表优化 建表 create table article( id int unsigned not null primary key auto_increment, author_id int unsigned not null, category_id int unsigned not null, views int unsigned not null, comments int unsigned not null, t原创 2021-01-09 20:48:46 · 68 阅读 · 0 评论 -
MySQL 12- SQL语句分析二
SQL语句分析二 1. Show Profile进行SQL分析 是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量 默认情况下,参数处于关闭状态,并保持最近15次的运行结果。原创 2021-01-08 20:11:59 · 57 阅读 · 0 评论 -
MySQL 13- MySQL优化一
MySQL优化一 1. 索引优化 索引的分类 分类角度 索引名称 数据结构 B+树,Hash索引,B-Tree等 存储层面 聚簇索引,非聚簇索引 逻辑层面 主键索引,普通索引,复合索引(MySQL 组合索引和联合索引和复合索引都是一个东西),唯一索引,空间索引等 回表 假设我们执行一条查询语句 select * from person where ID = 6,因为直接使用的是主键ID查询,所以就会用主键索引,由于主键索引直接关联了整行所有数据,所以,引擎只要执行一次就能查询出原创 2021-01-08 17:33:51 · 71 阅读 · 0 评论 -
MySQL 11- SQL语句分析一
SQL语句分析一 1. 影响服务器性能的几个方面 1.1 影响服务器性能的几个方面 1.服务器硬件 2.服务器的操作系统 3.数据库存储引擎的选择 4.数据库参数配置 5.数据库结构设计和SQL语句 1.2 SQL性能下降原因 查询语句写的不好 索引失效 关联查询太多join 服务器调优及各个参数设置 1.3 SQL加载顺序 手写SQL的顺序 select distinct <select _list> from <left_table> join &l原创 2021-01-06 21:16:10 · 121 阅读 · 0 评论 -
MySQL 10- 数据库存储引擎
数据库存储引擎一 1.数据库存储引擎 1.1 服务层 第二层服务层是MySQL的核心,MySQL的核心服务层都在这一层,查询解析,SQL执行计划分析,SQL执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等。通过下图来观察服务层的内部结构 1.2 存储引擎层 负责MySQL中数据的存储与提取。 服务器中的查询执行引擎通过API与存储引擎进行通信,通过接口屏蔽了不同存储引擎之间的差异。MySQL采用插件式的存储引擎。MySQL为我们提供了许多存储引擎,每种存储引擎有不同的原创 2021-01-04 17:26:47 · 111 阅读 · 0 评论 -
MySQL 09 - SQL高级二
SQL高级二 1. 索引 思考 在图书馆中是如何找到一本书的? 一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作), 而且插入操作和更新操作很少出现性能问题, 遇到最多、最容易出问题还是一些复杂的查询操作,所以查询语句的优化显然是重中之重 1.1 解决办法 当数据库中数据量很大时,查找数据会变得很慢 优化方案:索引 1.2 索引是什么 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 更通俗的说,数据库索引原创 2020-12-31 14:20:25 · 91 阅读 · 0 评论 -
MySQL 08 - SQL高级一
SQL高级一 1.视图 1.1 视图简介 视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 1.1 定义视图 create view 视图名称 as select 语句 # 查看 超级本 的信息 SELECT g.*,c.`name` FROM goods g INNER JOIN goods_cates c ON g.`cate_name` = c.`id` HAVIN原创 2020-12-29 20:33:02 · 75 阅读 · 0 评论 -
MySQL 07 - SQL语句四
SQL语句四 1.自关联 可以简单的理解为自己与自己进行连接查询。 比如: 一张areas 表里面有省市区,我们需要在通过这一张表查询某省对应的所有市。 select * from areas as p inner join areas as c on p.`id` = c.`pid` having p.name = '湖南'; 2. 外键 2.1外键介绍 MySQL的外键约束(FOREIGN KEY)是表的一个特殊字段。对于两个具有关系的表而言,相关联字段中的主键所在表就是主表(父表),外键所在的表就是原创 2020-12-23 17:08:55 · 126 阅读 · 0 评论 -
MySQL 06 - SQL语句三
SQL语句三 1. 分组与分组之后的筛选 1.1 分组 在数据库中 ,通过group by 将查询结果按照1个或多个字段进行分组,字段值相同的为一组。 select ...from table group by 需要分组字段; 练习: 计算男生和女生中的人数 男生最大年龄与女生最大年龄 如果分组后 还想查看总人数 with rollup group_concat(…) 我们通过group_concat(…)查看每组的详细信息 练习: 查询同种性别(分组后)的姓名原创 2020-12-18 19:36:32 · 218 阅读 · 0 评论 -
MySQL 05 - SQL语句二
SQL语句二 1. 操作数据 1.1 新增数据 整行插入 INSERT INTO 数据表名 VALUES(值1,值2,值3…); 指定列中插入数据 INSERT INTO tabname (字段1, 字段2,…) VALUES (值1,值2,…); 指定列中插入多条数据 INSERT INTO 数据表名 (字段1, 字段2,…) VALUES (值1,值2,…),(值1,值2,…); 1.2 修改数据 UPDATE 数据表名 SET 字段1=新值,字段2=新值 [WHERE 条件]原创 2020-07-24 17:34:49 · 1168 阅读 · 0 评论 -
MySQL 04 - SQL语句一
SQL语句 1. 操作数据库(DDL) 连接数据库 mysql -u用户名 -p enter password:密码 退出数据库 exit quit原创 2020-07-22 19:48:11 · 159 阅读 · 0 评论 -
MySQL 03 - 基础语句
基础语句 1. SQL 1.1 SQL介绍 SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。 1.2 SQL语句主要分为 DDL语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。 DML语句:数据操纵语句,用于添加、删除、更新、和查询数据库记录,并检查数据完整性 DCL语句:数据控制语句,用于控制不同数原创 2020-07-21 20:52:06 · 111 阅读 · 0 评论 -
MySQL 02 - MySQL介绍与安装
MySQL介绍与安装 1. MySQL介绍 MySQL由来 MySQL介绍 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言——**结构化查询语言(SQL)**进行数据库管理。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择 2. MySQL安装 MySQL直接安装 下载地址: http://www.mysql.com/downloads 下载之后可参考https://jingyan.bai原创 2020-07-21 20:05:40 · 177 阅读 · 0 评论 -
MySQL 01 - 数据库介绍
数据库介绍 1. 为什么要学习数据库? 通常,我们存储数据,直接用本地文件即可。但是,本地文件不利于存放海量数据,也不利于用程序对文件的数据进行查询与管理。那么为了解决这些弊端,才有数据库的出现,那么数据库也是每个程序员必须掌握的技术。 2. 数据库介绍 数据库(database)简称DB,实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作。 3. 数据库存储数据特点 持久化储存 读写速度极高 保证数据的有效性原创 2020-07-21 19:53:08 · 93 阅读 · 0 评论