随笔分类 -  数据库 MySQL

摘要:MVCC 即多版本并发控制 多版本的意思就是数据库中同时存在多个版本的数据,并不是整个数据库的多个版本,而是某一条记录的多个版本同时存在,在某个事务对其进行操作的时候,需要查看这一条记录的隐藏列事务版本id,比对事务id并根据事物隔离级别去判断读取哪个版本的数据。 MVCC主要是提高并发性能,不用加 阅读全文
posted @ 2020-10-09 19:11 小名的同学 阅读(116) 评论(0) 推荐(0)
摘要:行锁 走索引进行行锁 表锁 解决:对更新字段建立索引(唯一),当走索引只会进行行锁; 当一条更新语句没有走索引,可能就会进行表锁,此时其他事物无论更新和插入都会等待 update f set name=20 where num=2; 死锁 MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小 阅读全文
posted @ 2020-10-09 14:40 小名的同学 阅读(1070) 评论(0) 推荐(0)
摘要:基本命令 #声明变量 DECLARE a INT; #对变量赋值 SET a = 5; 基本使用 创建存储过程 DROP PROCEDURE if exists p8; CREATE PROCEDURE p8 () BEGIN DECLARE a INT; DECLARE b INT; DECLAR 阅读全文
posted @ 2020-09-28 18:56 小名的同学 阅读(183) 评论(0) 推荐(0)
摘要:如何使用慢查询快速定位执行慢的 SQL? 慢查询可以帮我们找到执行慢的 SQL 查看慢查询是否已经开启 show variables like '%slow_query_log'; 我们能看到slow_query_log=OFF,也就是说慢查询日志此时是关上的。我们可以把慢查询日志打开,注意设置变量 阅读全文
posted @ 2020-09-09 10:49 小名的同学 阅读(222) 评论(0) 推荐(0)
摘要:insert 如果我们有需求是需要进行加锁,才能进行在进行insert,如果在java层次来进行加锁,会导致效率很低,我们此时就可以将之前在java层次的判断放到mysql语句中,如果条件成立才进行插入数据; 如果插入数据后,需要进行update,那么我们需要先update,在进行insert(in 阅读全文
posted @ 2020-01-11 21:19 小名的同学 阅读(247) 评论(0) 推荐(0)
摘要:事务有四个特性:ACID 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。 一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不 阅读全文
posted @ 2019-09-29 08:35 小名的同学 阅读(164) 评论(0) 推荐(0)
摘要:参考:https://mp.weixin.qq.com/s?__biz=MzI5MzYzMDAwNw==&mid=2247487130&idx=2&sn=7d384ef9ca47b933e801fdd2459b6b2f&chksm=ec6e77c2db19fed4a3ed3a0625c1f31867 阅读全文
posted @ 2019-09-28 00:21 小名的同学 阅读(161) 评论(0) 推荐(0)
摘要:待整理。。。 阅读全文
posted @ 2019-06-13 16:25 小名的同学 阅读(96) 评论(0) 推荐(0)
摘要:下载:https://dev.mysql.com/downloads/workbench/ 版本 8.0.16 简单使用: 1、创建数据库 创建表 创建表中的字段 对已经创建好的表进行修改 表中的信息 执行SQL语句 导出数据库 阅读全文
posted @ 2019-04-29 11:08 小名的同学 阅读(357) 评论(0) 推荐(0)
摘要:IFNULL SELECT a.`id`, a.`name`, b.`id`, IFNULL(b.`name`,'/') //如果查询为null,可以设置一个默认值 FROM tb_content_category AS a LEFT JOIN tb_content_category AS b ON 阅读全文
posted @ 2019-03-14 23:03 小名的同学 阅读(209) 评论(0) 推荐(0)
摘要:表内容操作: 1、增 insert into 表 (列名,列名...) values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表 (列名,列名...) select (列名,列名...) 阅读全文
posted @ 2019-03-13 09:00 小名的同学 阅读(398) 评论(0) 推荐(0)
摘要:查看各个表占用空间 select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容量(MB)', truncate(index_leng 阅读全文
posted @ 2019-03-12 14:05 小名的同学 阅读(245) 评论(0) 推荐(0)
摘要:数据库操作 阅读全文
posted @ 2018-11-04 09:25 小名的同学 阅读(237) 评论(0) 推荐(0)