数据库
文章平均质量分 70
MySQL,Redis以及相关工具
江山太美
变大变强
展开
-
关于MySQL 重做日志的探索
1.MySQL 如何做到数据不丢失的? 答:redo log 重做日志1.重做日志是一种基于磁盘的数据结构,用于在崩溃恢复期间纠正由不完整事务写入的数据2.在正常操作期间,重做日志对由 SQL 语句或低级 API 调用产生的更改表数据的请求进行编码。在意外关闭之前未完成更新数据文件的修改会在初始化期间和接受连接之前自动重播3.默认情况下,重做日志在磁盘上由两个名为ib_logfile0和 的文件物理表示ib_logfile1。MySQL 以循环方式写入重做日志文件官方文档:MySQL :原创 2022-04-02 17:21:33 · 1425 阅读 · 0 评论 -
关于MySQL Insert语句事务机制的探索
MySQL的InnoDB下的insert语句和事务分析,深入剖析执行来释疑原创 2021-12-22 23:49:45 · 3733 阅读 · 0 评论 -
MySQL优化篇
一、查询避坑1.使用like关键字且使用了"左模糊"或者"全模糊"导致索引失效例如:SELECT * FROM user WHERE username like '%三%'2. 组合索引(多列索引)不满足最左匹配原则导致索引失效组合索引最多包含16个字段创建组合索引 (a,b,c)CREATE INDEX idx_a_b_c ON user(a,b,c);SELECT * FROM user WHERE b=1 and c=2;最左匹配原则即(a,b)(a,b,c)原创 2021-08-19 10:27:57 · 230 阅读 · 0 评论 -
20s内向mysql表中插入100w数据
接到一个任务,在100w数据环境下做性能测试,先在本地要造100万数据,表是默认InnDB引擎1.改变表的引擎,MyISAM引擎没有事务,速度巨快(先不改变试试InnDB有多慢再决定尝试一波我的方法?)alter table `user` engine=MyISAM;alter table `user` engine=InnoDB;2.创建且执行存储过程CREATE PROCEDURE insert_batch()BEGIN DECLARE n int DEFAULT 1;原创 2020-11-19 11:50:40 · 220 阅读 · 0 评论 -
win10 安装mysql解压包且初始化用户密码
https://www.jianshu.com/p/ea4accd7afb41.下载mysql(我的5.7),解压到本地,配置环境变量2.定义配置文件文件内容:[client]port=3306default-character-set=utf8[mysqld]# 设置为自己MYSQL的安装目录basedir=E:\tools\mysql-5.7.32-winx64# 设置为MYSQL的数据目录datadir=E:\tools\mysql-5.7.32-winx64...原创 2020-10-30 16:50:21 · 282 阅读 · 0 评论 -
MySQL InnoDB|MYISAM对比,读写锁,乐观锁对比
聚簇索引和非聚簇索引 InnoDB :默认创建主键聚簇,没有主键则默认设置非空属性,没有非空则选取第一列,聚簇里面存储了主键和数据内容, MYISAM:创建主键聚簇时,聚簇里面存储了主键和数据地址,非聚簇索引(二级索引): InnoDB :存储属性和主键ID(没有主键根据规则创建了隐藏主键),根据主键查询内容 MYISAM:存储属性和数据内存地址,更具地址查询内容I...原创 2019-09-16 19:36:19 · 189 阅读 · 0 评论 -
mysql执行计划详解以及调优注意事项
1.SQL优化 一般是看走索引还是走全表explain sql可以看到type是优化sql,判断sql的一个关键字眼,具体有多少种类详见这位大佬做的剖析https://blog.csdn.net/qq_20057315/article/details/80902358select id from user where id =1 type const(常量)select id from user where id in(1,2) 或者>,< 符号 ...原创 2020-05-19 19:13:51 · 170 阅读 · 0 评论