随笔分类 -  mysql

摘要:mysql中的行锁,临键锁,间隙锁都是为了解决innodb引擎下事务隔离级别的一系列排他锁 行锁: 也称为记录锁,当我们对mysql表中的某一条记录,或者唯一索引加锁的时候,innodb会默认对这一行记录进行加锁,避免其他事务对其进行修改 间隙所:顾名思义,就是锁定一个索引的区间,在普通索引或者唯一 阅读全文
posted @ 2023-10-11 08:59 -韩 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1.读表的时候,尽可能的避免全表扫描,根据合理的业务需求,在where和orderby上面建立索引 2.尽量避免在where中使用!=或者<>,否则存储引擎将放弃索引走全表扫描 3.尽量避免where语句中对null值进行判断,否则也会导致存储引擎放弃索引走全表扫描,可以使用0代替判断,前提是字段不 阅读全文
posted @ 2022-08-12 17:05 -韩 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.聚簇索引和非聚簇索引的区别 索引类型和存储类型是相关的 1.innodb存储引擎索引和数据存放在ibd文件中,myisam存储引擎存放在myd文件中 2.区分聚簇索引和非聚簇索引的区别,只要区分数据和索引是否存放在一起 3.innodb存储数据,数据和索引必须存放在一起,如果有主键就使用主键,没 阅读全文
posted @ 2022-07-13 20:30 -韩 阅读(27) 评论(0) 推荐(0) 编辑
摘要:-- 存在则删除重新创建存储过程 DROP PROCEDURE IF EXISTS get_goods_item_count; -- 创建存储过程 CREATE PROCEDURE get_goods_item_count() BEGIN SELECT date_format(FROM_UNIXTI 阅读全文
posted @ 2022-06-24 15:06 -韩 阅读(450) 评论(0) 推荐(0) 编辑
摘要:获取所有上级节点(包含自身) SELECT group_concat(T1._id) as id FROM ( SELECT @r AS _id, ( SELECT @r := parent_id FROM table_name WHERE id = _id ) AS parent_id, @l : 阅读全文
posted @ 2022-01-18 13:59 -韩 阅读(942) 评论(0) 推荐(0) 编辑
摘要:1、下载Navicat Premium 官网https://www.navicat.com.cn/下载最新版本下载安装 2、链接:https://pan.baidu.com/s/1T-AM8tubtUOBZn3PMhYLYA 提取码:zo5g(安装包和破解包都有) 3、激活Navicat Premi 阅读全文
posted @ 2021-10-14 18:05 -韩 阅读(111) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-09-14 15:54 -韩 阅读(2) 评论(0) 推荐(0) 编辑
摘要:使用explain,profiling 来进行sql语句的分析 在sql执行的时候,如何查看mysql的io操作 show status like “innodb_data_r%” //代表数据的读取 show status like “innodb_data_w%” //代表数据的写入 show 阅读全文
posted @ 2021-09-14 15:35 -韩 阅读(65) 评论(0) 推荐(0) 编辑
摘要:1. 客户端执行sql语句 (在此之前会先进行用户名密码的连接,会去进行mysql的校验,详情查看mysql运行流程) 2.sql语句会进入到命令分发器 2. sql语句在进行mysql服务器进行查询缓存,查询以sql语句作为记录,以语句作为key,结果作为value 假如当前的查询语句为“sele 阅读全文
posted @ 2021-09-14 10:52 -韩 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:事务的隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted(读未提交)、Read committed(读已提交)、Repeatable read(可重复读取)、Serializable(序列化),后三个级别可以逐个解决脏读、不可重复读、幻象读这几类问题。1、Read  阅读全文
posted @ 2021-09-13 14:35 -韩 阅读(102) 评论(0) 推荐(0) 编辑
摘要:Mysql的事务特性(原子性,一致性,隔离性,持久性) 事务的执行依靠日志,事务执行时,日志先执行 事务提交的流程 提交事务 日志刷盘 数据刷盘 写cpk(数据校验) 事务提交的时候。会有两个日志文件 redo 重做日志 记录我们提交的事务,事务提交后,假如断电了,没有来的及写入磁盘,mysql 重 阅读全文
posted @ 2021-09-13 13:09 -韩 阅读(179) 评论(0) 推荐(0) 编辑
摘要:根据存储引擎不同,支持不同的锁 Myisam:支持表锁 Innodb:支持行锁 BDB:支持页锁 Memory :支持表锁 Archive:行锁 表锁:顾名思义,锁住一个表,开销小,加锁快,不会出现死锁,锁住的数据大(粒度),应对并发差 行锁:锁住一条数据,开销大,加锁慢,会出现死锁,应对并发高 页 阅读全文
posted @ 2021-09-13 12:40 -韩 阅读(40) 评论(0) 推荐(0) 编辑
摘要:本篇主要用来记录一些个人对于mysql日志文件的一些理解 日志文件主要包括: 1 错误日志(Error log) 2 二进制日志(Binary Log)、(重点) 3 事务日志(InnoDB redo Log & undo Log) 4 慢查询日志 (Slow query Log)(重点) 5 查询 阅读全文
posted @ 2020-08-13 16:32 -韩 阅读(182) 评论(0) 推荐(0) 编辑
摘要:环境变量配置配置好以后,打开cmd连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:my 阅读全文
posted @ 2018-07-26 15:45 -韩 阅读(8811) 评论(0) 推荐(0) 编辑
摘要:1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。 例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要 阅读全文
posted @ 2018-07-24 19:05 -韩 阅读(419) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示