![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 70
ChaoticNg
八股文颂唱者
展开
-
MySQL索引下推(ICP)的简单理解与示例
前言索引下推(Index Condition Pushdown, 简称ICP)是MySQL 5.6 版本的新特性,它能减少回表查询次数,提升检索效率。MySQL体系结构要明白索引下推,首先要了解MySQL的体系结构:上图来自MySQL官方文档。通常把MySQL从上至下分为以下几层:MySQL服务层:包括NoSQL和SQL接口、查询解析器、优化器、缓存和Buffer等组件。 存储引擎层:各种插件式的表格存储引擎,实现事务、索引等各种存储引擎相关的特...转载 2022-03-23 11:07:12 · 445 阅读 · 0 评论 -
mysql最左匹配原则
本文参考:https://blog.csdn.net/sinat_41917109/article/details/88944290先讲讲自己的理解:索引的底层是一颗B+树,那么联合索引当然还是一颗B+树,只不过联合索引的健值数量不是一个,而是多个。构建一颗B+树只能根据一个值来构建,因此数据库依据联合索引最左的字段来构建B+树。例子:假如创建一个(a,b)的联合索引,那么它的索引树是这样的可以看到a的值是有顺序的,1,1,2,2,3,3,而b...转载 2021-07-19 15:49:13 · 234 阅读 · 0 评论 -
模糊匹配like %*%的优化
只给出结果,详细可以查看原文:https://cloud.tencent.com/developer/article/1751656①通过全文索引,模糊匹配优化对于SQL语句后面的条件 nickname like '%看风%' 默认情况下,CBO是不会选择走nickname索引的,该写SQL为全文索引匹配的方式:match(nickname) against('看风')。mysql>explain select * from users01 where match(nicknam.原创 2021-07-19 14:44:30 · 686 阅读 · 0 评论 -
数据库SQL优化总结 - 百万级数据库优化方案
本文参考:https://www.cnblogs.com/yunfeifei/p/3850440.htmlhttps://www.cnblogs.com/szw906689771/p/14719186.html首先,对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。索引失效的几种情况:①避免在 where 子句中对字段进行 null 值判断,否则将引擎放弃使用索引而进行全表扫描。比如:select id from t wh.转载 2021-07-15 17:26:22 · 113 阅读 · 0 评论 -
MySQL优化从执行计划开始(explain超详细)
前言小伙伴一定遇到过这样反馈:这页面加载数据太慢啦,甚至有的超时了,用户体验极差,需要赶紧优化;反馈等同于投诉啊,多有几次,估计领导要找你谈话啦。于是不得不停下手里头的活,赶紧进行排查,最终可能是程序处理的问题、也可能是并发量大导致排队问题、也可能是SQL查询性能导致等;而在很多时候,SQL查询缓慢是最直接拖慢系统的罪魁祸首,同样是实现一个功能,有的小伙伴毫秒级呈现效果,有的却要好几秒,而调优需要的花费时间不容小觑,最终可能就体现到个人业务能力上和形象上:哇,真牛逼,分分钟搞定; 菜鸟,居然写出转载 2021-04-12 10:44:40 · 466 阅读 · 0 评论 -
数据库中为什么使用md5对密码进行编码
首先要知道,MD5全称Message-Digest Algorithm 5,MD5的实际应用是对一段Message(字节串)产生fingerprint(指纹),可以防止被“篡改”。md5是一个hash函数,并不是一个加密函数,得到的字符串,反向还原密码的可能性低。即使2个人的密码一致,若是将手机号和密码参与计算,最后得到的字符串也会完全不一样。进一步可以加入其他的信息提升安全性,md5可以保证相同的字符串计算的结果一致。MD5加密为了是MD5密码被别人看到了也不知道用户的实际密码是什么,起到安全原创 2021-04-06 09:04:32 · 647 阅读 · 0 评论 -
实现mysql主从复制、读写分离
目录1.1 为什么要做主从复制?1.2 主从复制的原理是什么?1.3 复制的基本原则1.4 复制的最大问题2. 实战MySQL主从复制2.1 环境说明2.2 MySQL主从复制的复制方式2.2.1 SBR方式的优缺点2.2.2 RBR方式的优缺点2.2.3 混合方式2.2.4 全局事务标识符 GTID2.3 实现MySQL主从复制需要进行的配置2.4 修改master配置2.5 在主机上建立账户并授权slave2.6 告知从服务器二进制文件名.原创 2021-03-30 11:00:40 · 405 阅读 · 1 评论 -
【正确解决办法】grep `temporary password` /var/log/mysqld.log 中找不到临时密码
按照网上的步骤在centos装mysql启动服务后发现找不到临时密码,百度了很久都说什么清除以前的文件。。。其实如果你找不到,根本原因是mysql没有设置临时密码。。。如图直接进去,输入密码的时候回车即可...原创 2021-03-30 09:22:59 · 6275 阅读 · 9 评论 -
MySQL锁总结
目录锁机制MyISAM 表锁InnoDB行级锁和表级锁死锁(Deadlock Free)MyISAM避免死锁:InnoDB避免死锁:一些优化锁性能的建议乐观锁、悲观锁锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等。锁机制共享锁与排他锁共享锁.转载 2021-03-25 14:45:58 · 94 阅读 · 0 评论 -
Mysql默认隔离级别为什么是可重复读?
知识点总结1、数据库默认隔离级别:mysql — 可重复读; oracle — 已提交读2、mysql binlog的格式三种:statement,row,mixed3、为什么mysql用的是可重复读而不是read committed:在 5.0之前只有statement一种格式,而主从复制存在了大量的不一致,故选用repeatable4、为什么默认的隔离级别都会选用read commited原因有三:repeatable存在间隙锁会使死锁的概率增大;在可重复读隔离级别下,条原创 2021-03-25 10:31:10 · 1517 阅读 · 2 评论 -
事务的特性、隔离级别、并发问题级别、@transaction注解
事务的特性、隔离级别、并发问题级别、@transaction注解原创 2021-03-24 09:22:52 · 417 阅读 · 1 评论 -
索引介绍及mysql索引类型
目录1.索引介绍2.Mysql索引存储方式3.索引优化4.索引失效的7中情况:1.索引介绍索引的本质:数据结构如果没有索引,查询一个id=7需要7次io;索引实现方式:hash哈希散列法,二叉树,红黑树,b树,b+树,......B+树的特征:非叶节点只存储索引信息,不存储数据;叶子节点最右边的指针指向下一个相邻的叶子节点没所有叶子节...原创 2020-03-30 23:04:28 · 152 阅读 · 0 评论 -
mysql中char,varchar、text的区别
text、char、varchar是数据在数据库中的存放策略问题,为了,合理应用存储空间,是数据库服务器数据类型划分的方式。对于应用程序,把它们和string对应就可以了。(1)char: char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,MySQL会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。(2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,...原创 2021-01-25 16:30:30 · 222 阅读 · 0 评论 -
mysql基础语句整理,CRUD,GROUP BY,多表联查,合并查询union
目录 CREATEINSERT, DELETE, UPDATESELECTGROUP BY:多表联查内连接外连接注意事项:自连接子查询CREATE//创建数据库和表CREATE DATABASE myDatabase1;USE myDatabase1;CREATE TABLE myTable( sid INT...原创 2019-07-25 16:43:08 · 452 阅读 · 0 评论