
mysql
文章平均质量分 92
码农的进阶之路
三人行,必有我师。学海无涯
展开
-
普通索引与唯一索引的对比
文章目录唯一索引与普通索引在查询过程中的差异唯一索引与普通索引在更新过程中的差异普通索引和唯一索引应该怎么选择?change buffer 和 redo log唯一索引与普通索引在查询过程中的差异假设,执行查询的语句是 select id fromTwhere k=5。这个查询语句在索引树上查找的过程,先 是通过B+树从树根开始,按层搜索到叶子节点,也就是图中右下角的这个数据页,然后可以认 为数据页内部通过二分法来定位记录。对于普通索引来说,查找到满足条件的第一个记录(5,500)后,需要查找下原创 2021-08-03 13:33:17 · 214 阅读 · 0 评论 -
MySQL主从复制问题集锦
问题一:‘COULD NOT FIND FIRST LOG FILE NAME IN BINARY LOG INDEX FILE’这个报错通常伴随着Slave_IO_Running: NoSlave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。解决方案:从数据库停止slave slave stop;刷新master上binlog日志fl...原创 2020-04-28 22:49:50 · 160 阅读 · 0 评论 -
MySQL主从复制
原理分析MySQL复制过程分为三步:1、master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件(binary log event)2、slave将master的binary log events拷贝到它的中继日志(relay log)3、slave重做中继日志中的时间,将改变应用到自己的数据库中。mysql复制是异步的且串行化的。复制的基本原则1、每...原创 2020-03-01 18:24:16 · 202 阅读 · 0 评论 -
MySQL 行锁、间隙锁分析
文章目录行锁更新同一行数据更新不同行数据无索引或索引失效 行锁升级为表锁如何手动锁定一行结论行锁分析优化建议间隙锁及其危害行锁特点:偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度最高。以dept表为例 演示行锁。首先把mysql自动提交事务给关了。set autocommit=0;更新同一行数据更新不同行数据当前会话读该行...原创 2020-03-01 18:15:32 · 951 阅读 · 0 评论 -
MySQL锁机制概述及表锁分析
MySQL锁机制定义:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中中,除传统的计算资源(如CPU、RAM、I/O等) 的争用以外,数据也是一种供多个用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的问题,锁冲突也是影响数据库并发访问性能的一个重要因素。因此,锁对于数据库也是很重要的。锁的分类从数据操作的类型可分为读锁、写锁读锁(共享锁):针对同...原创 2020-03-01 18:09:21 · 238 阅读 · 0 评论 -
MySQL调优利器【show profiles】
show profiles是mysql提供可用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优测量。默认情况下,参数处于关闭状态,并保存最近15次的运行结果分析步骤1、查看当前版本sql是否支持show profilesmysql> show variables like 'profiling%';+------------------------+-------+...原创 2020-03-01 18:07:11 · 1854 阅读 · 0 评论 -
MySQL 慢查询日志分析
慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句。运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。默认情况下,MySQL数据库没有开启慢查询日志,需要手动设置这个参数。如果不是调优需要的话,不建议开启这个参数。因为开启慢查询日志会或多或少带来一定的性能损耗。慢查询日志的查看以及开启show va...原创 2020-03-01 18:03:51 · 211 阅读 · 0 评论 -
MySQL 查询优化、【order by】及【group by】关键字优化
文章目录原理order by关键字优化fileSort排序原理提高order by速度的方式order by 案例总结使用索引进行排序的例子不能使用索引进行排序总结group by关键字优化优化原则:小表驱动大表,即小的数据集驱动大的数据集原理select * from A where id in (select id from B)等价于for select id from B {f...原创 2020-03-01 18:00:55 · 414 阅读 · 0 评论 -
MySQL is null真的不走索引吗?
MySQL版本5.7建表create table staffs(id int primary key auto_increment,name varchar(24) not null default '' comment '姓名',age int not null default 0 comment '年龄',pos varchar(20) not null default '' co...原创 2020-03-01 17:44:28 · 4134 阅读 · 0 评论 -
MySQL 索引的使用规则
文章目录索引的使用规则索引全值匹配最左前缀法则不在索引列上做任何操作存储引擎不能使用索引中范围条件右边的列使用覆盖索引使用不等于(!= 或者<>)时 索引失效like以通配符开头,索引失效字符串不加**单引号**索引失效少用or,用它连接是 索引会失效使用索引时的建议索引的使用规则建表create table staffs(id int primary key auto_inc...原创 2020-03-01 17:39:24 · 277 阅读 · 0 评论 -
索引优化的案例
文章目录索引优化单表优化过程多表优化过程总结索引优化单表优化过程## 建表语句create table if not exists article(id int(10) unsigned not null primary key auto_increment,author_id int(10) unsigned not null,category_id int(10) unsigne...原创 2020-03-01 17:30:47 · 289 阅读 · 0 评论 -
MySQL 性能分析与执行计划
本文主要内容性能分析MySQL 查询优化器MySQL常见瓶颈EXPLAIN执行计划名词解释tabletypepossible_keys、keykey_lenrefrowsfilteredExtra性能分析MySQL 查询优化器MySQL中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中搜集到的统计信息,为客户端请求的Query提供它认为最优的执行计划。当客户端向My...原创 2020-03-01 17:22:27 · 599 阅读 · 0 评论 -
MySQL索引的分类、数据结构及其使用建议
索引的分类建议 一张表最多建索引不要超过5个。分组之前必排序单值索引一个索引只包含单个列,一个表可以有多个单列索引。建议 一张表最多建索引不要超过5个排序尽量遵守所建索引的顺序和个数。group by 尽量遵守所建索引的顺序和个数。唯一索引索引列的值必须唯一,但允许有空值。复合索引即一个索引包含多个列。索引的基本语法创建索引create [unique] index...原创 2020-03-01 17:12:02 · 264 阅读 · 0 评论 -
MySQL索引概述及优缺点分析
索引是什么?索引(Index)是帮助MySQL高效获取数据的数据结构,可以得到索引的本质:索引是数据结构索引的目的在于提高查询效率,可以类比字典,如果要查"mysql"这个单词,我们肯定需要定位到m字母,然后往下找到y字母,再找到剩下的sql。如果没有索引,那么可能需要a–z这个样子去查找了。可以简单理解为"索引是排好序的快速查找的数据结构"在数据之外,数据库系统还维护者满足特定查找算...原创 2020-03-01 17:02:45 · 300 阅读 · 0 评论 -
MySQL 修改字符集
前言新建数据库test1并在其中创建表mysql> create table if not exists user( -> id int(11) not null, -> name varchar(16) not null -> );并向其中插入两条数据mysql> insert into user values(1,'zs');Q...原创 2020-03-01 16:58:11 · 208 阅读 · 0 评论 -
MySQL的安装使用
版本mysql-5.7.29查看当前系统中是否安装过mysqlrpm -qa | grep -i mysql如果安装过,那个上面的命令会显示出来由于Centos默认安装过MariaDB,所以再安装mysql的时候 会出现冲突,把MariaDB删除即可,查询MariaDB的安装情况root@m /]# rpm -qa | grep -i Mariadbmariadb-libs-5.5...原创 2020-03-01 16:56:08 · 158 阅读 · 0 评论 -
MySQL事务与锁
事务数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作。事务是一组不可分割的操作集合MySQL中开启事务:begin/start transaction//开启事务Commit/rollback//提交事务或回滚set session autocommit=on/off //开启自动提交或关闭自动提交事务特性ACID原子性(Atomicity)最小的工作单元,整个工...原创 2020-01-17 11:04:00 · 209 阅读 · 0 评论 -
MySql动态添加关联条件、查询条件等
if(expr1,expr2,expr3) 如果expr1返回true 则执行expr2部分语句,否则执行expr3语句//如果条件a不为空 则使用添加a与b关联select a.id,b.* from a join b on if(a.id is null,1=1,a.id=b.id);//这里如果a.id is null,则执行1=1条件 也就是相当于没有查询条件 恒为true;否则执...原创 2018-11-08 15:07:07 · 3744 阅读 · 3 评论 -
mysql递归查询组织机构
转载自https://blog.youkuaiyun.com/moyanxuan_1993_2_24/article/details/52790314 父子查询: 根据父 id 查询下面所有子节点数据;子父查询: 根据子 id 查询上面所有父节点数据; &nb...转载 2018-05-07 14:05:28 · 4022 阅读 · 0 评论 -
mysql组织机构树迭代查询
转载自https://blog.youkuaiyun.com/u011935772/article/details/71419527组织机构表结构建表语句drop table if exists Organize;/*=========================================...转载 2018-05-07 13:55:37 · 3776 阅读 · 0 评论