
MySQL
文章平均质量分 75
Nice2cu_Code
立志成为一个前端、后端、测试全方位发展的程序员
展开
-
分布式id之雪花算法
雪花算法文章目录雪花算法一、介绍二、计算过程一、介绍当数据库进行分库分表时,不同表的主键id默认会从1开始递增,这时就需要使用全局唯一id。雪花算法是Twitter开源的由64位bit组成的分布式ID,性能较高,按照时间递增。雪花算法的结构如下图:第一位:占用1bit,没有实际作用,序列号都是正数,所以第一个bit取值总为0。时间戳:占用41bit,精确到毫秒,总共可以容纳约69年的时间。机器id:占用10bit,其中高位5bit是数据中心ID,低位5bit是工作节点ID,做多可以容纳10原创 2021-08-08 11:29:03 · 828 阅读 · 0 评论 -
Docker 安装 MySQL 8.0,详细步骤
Docker 安装 MySQL 8.0文章目录Docker 安装 MySQL 8.0一、拉取镜像二、查看镜像三、运行容器四、查看运行情况五、进入容器六、配置MySQL1. 进入MySQL2. 配置支持远程连接一、拉取镜像docker pull mysql:8.0.21二、查看镜像docker images三、运行容器docker run -p 3306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=设置密码 -d mysql:8.0.21代码原创 2021-07-06 08:31:32 · 18230 阅读 · 5 评论 -
MySQL主从复制介绍及搭建步骤
主从复制文章目录主从复制一、复制概述二、复制原理三、复制优势四、搭建步骤1. master2. slave3. 验证同步操作一、复制概述复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行,从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。二、复制原理MySQL的主从复制原理如下:Master主库在事务提交时,会把数据变更记录在二进制日志文件 Binlo原创 2021-06-21 12:37:41 · 2403 阅读 · 0 评论 -
MySQL四种日志分析
MySQL日志在 MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志(BINLOG日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。文章目录MySQL日志一、错误日志二、二进制日志1. 概述2. 日志格式3. 查看日志3.1 查看STATEMENT格式日志3.2 查看ROW格式日志4. 删除日志三、查询日志四、慢查询日志1. 文件位置和格式2. 日志的读取一、错误日志错误日志是 MySQL 中最重要的日志之一,它记录了当 MySQL 启动和停止时,以及服务器在运行过程原创 2021-06-20 08:56:03 · 1972 阅读 · 0 评论 -
MySQL锁机制介绍
锁机制文章目录锁机制一、概述1. 锁分类2. MySQL锁二、MyISAM表锁1. 如何加表锁2. 读锁案例3. 写锁案例4. 结论5. 查看锁的争用情况三、InnoDB行锁1. InnoDB的行锁模式2. 行锁演示3. 无索引行锁升级为表锁4. 间隙锁5. 查看行锁争用情况6. 总结四、并发参数调整1. max_connections2. back_log3. table_open_cache4. thread_cache_size5. innodb_lock_wait_timeout一、概述1.原创 2021-06-19 13:16:35 · 405 阅读 · 0 评论 -
MySQL优化(前台应用优化、查询缓存优化、内存优化)
MySQL优化文章目录MySQL优化一、前台应用优化1.1 使用连接池1.2 减少对MySQL的访问1.2.1 避免对数据进行重复检索1.2.2 增加cache层1.3 负载均衡1.3.1 利用MySQL主从复制1.3.2 采用分布式数据库架构二、查询缓存优化2.1 概述2.2 操作流程2.3 查询缓存配置2.4 开启查询缓存2.5 查询缓存SELECT选项2.6 查询缓存失效的情况三、内存优化3.1 内存优化原则3.2 MyISAM内存优化key_buffer_sizeread_buffer_sizer原创 2021-06-18 09:19:42 · 323 阅读 · 0 评论 -
MySQL SQL语句调优
SQL语句调优文章目录SQL语句调优一、大批量插入数据1. 主键顺序插入2. 关闭唯一性校验3. 手动提交事务二、优化insert语句三、优化order by语句1. 环境准备2. 两种排序方式3. 多字段排序的优化4. filesort的优化四、优化group by语句五、优化嵌套语句六、优化or条件七、优化分页查询1. 优化思路一2. 优化思路二八、使用SQL提示1. USE INDEX2. IGNORE INDEX3. FORCE INDEX一、大批量插入数据大批量数据存在本地文件中,使用loa原创 2021-03-06 20:00:05 · 2126 阅读 · 0 评论 -
MySQL 索引的使用
索引的使用文章目录索引的使用1. 准备环境2. 避免索引失效的方式(1) 全值匹配(2) 最左前缀法则(3) 覆盖索引(4) 复合索引3. 索引失效的情况查看索引使用情况1. 准备环境create table `tb_seller` ( `sellerid` varchar (100), `name` varchar (100), `nickname` varchar (50), `password` varchar (60), `status` varchar (1), `address原创 2021-03-06 17:59:34 · 352 阅读 · 0 评论 -
MySQL 触发器
触发器1 介绍触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。触发器类型NEW 和 OLD的使用INSERT 型触发器NEW 表示将要或者已经新增的数据UPDATE原创 2021-03-05 18:08:33 · 230 阅读 · 0 评论 -
MySQL 游标 / 光标
游标/光标游标cursor是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用光标对结果集进行循环的处理。光标的使用包括光标的声明、OPEN、FETCH 和 CLOSE,其语法分别如下:声明光标:DECLARE cursor_name CURSOR FOR select_statement ;OPEN 光标:OPEN cursor_name ;FETCH 光标:从第一行开始,每次FETCH获取到的是游标中的一整行的数据,再次调用自动读取下一行的数据将获取到的数据通过关键字 IN原创 2021-03-05 17:18:16 · 358 阅读 · 0 评论 -
MySQL show profile指令分析SQL耗时
show profile指令分析SQLMysql从5.0.37版本开始增加了对 show profiles 和 show profile 语句的支持。show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了通过 have_profiling 参数,能够看到当前MySQL是否支持profile:默认profiling是关闭的,0表示未开启,可以通过set语句在Session级别开启profiling:set profiling=1; /*开启 profiling 开关*/原创 2021-03-05 16:44:20 · 831 阅读 · 2 评论 -
MySQL explain指令详解
explain指令分析执行计划文章目录explain指令分析执行计划查询结果各字段含义1. id列2. select_type列3. table列4. type列5. key列6. rows列7. extra列explain只能解释select查询,并不会对存储过程调用和insert,update,delete或其他语句做解释通过以上步骤查询到效率低的 SELECT 语句后,可以通过 EXPLAIN命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和原创 2021-03-05 16:41:28 · 391 阅读 · 0 评论 -
MySQL 定位低效率SQL
定位低效率SQL可以通过以下两种方式定位执行效率较低的 SQL 语句慢查询日志 : 用–log-slow-queries[=file_name]选项启动时,mysqld 写一个包含所有执行时间超过 long_query_time 秒的 SQL 语句的日志文件。慢查询日志在查询结束以后才记录,所以在应用反映执行效率出现问题的时候慢查询日志并不能定位问题show processlist 指令: 可以使用show processlist命令查看某一MySQL线程的详细信息,可以实时地查看 SQL 的执行情原创 2021-03-05 16:38:37 · 250 阅读 · 0 评论 -
MySQL 存储引擎
存储引擎文章目录存储引擎1. Mysql的体系结构概览2. 存储引擎2.1 存储引擎概述2.2 各种存储引擎特性2.2.1 InnoDB2.2.2 MyISAM2.3 存储引擎的选择1. Mysql的体系结构概览整个MySQL Server由以下组成Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Interface : SQL接口组件Parser : 查询分析器组件Optimizer :原创 2021-03-04 17:02:34 · 259 阅读 · 1 评论 -
MySQL 索引 B树 B+树
索引文章目录索引一、索引1. 基本介绍2. 使用索引的优势、劣势3. 索引类型4. B树结构5. B+树结构6. MySQL中的B+树7. 索引分类8. 索引语法(1) 创建索引(2) 查看索引(3) 删除索引(4) 修改索引9. 索引设计原则一、索引1. 基本介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引原创 2021-03-03 13:06:25 · 489 阅读 · 0 评论