mysql学习笔记
文章平均质量分 84
liuhm~
代码搬运工
展开
-
docker部署mysql主主备份
主主复制即在两台MySQL主机内都可以变更数据,而且另外一台主机也会做出相应的变更。只不过在配置的时候我们需要注意一些问题,例如,这种方案,既做到了访问量的压力分流,同时也解决了“单点故障”问题。链接:https://pan.baidu.com/s/1ezBfa3WDYG3-Ur3NDbLvCA。执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化。(1)在主1服务器执行下面的命令查看。(2)在主2服务器执行下面的命令查看。主主复制----->互为主从。,防止主服务器状态值变化。原创 2022-11-07 15:24:23 · 780 阅读 · 0 评论 -
2_Explain详解与索引最佳实践
使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中like KK%相当于=常量,%KK和%KK% 相当于范围。原创 2022-10-28 14:26:08 · 113 阅读 · 0 评论 -
1_深入理解Mysql索引底层数据结构与算法
顾名思义,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(between、like)就停止匹配,比如a = 1 and b = 2 and c 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。原创 2022-10-26 17:14:21 · 415 阅读 · 0 评论 -
MySQL学习笔记
MySQL学习笔记(一 mysql简介)MySQL学习笔记( 二 MySql 的用户和权限管理)MySQL学习笔记(三 Mysql 逻辑架构简介)MySQL学习笔记(四 SQL 预热)MySQL学习笔记(五 索引优化分析)MySQL学习笔记(六 Explain 性能分析)MySQL学习笔记(七 批量数据脚本)MySQL学习笔记(八 单表使用索引常见的索引失效 )MySQL学习笔记(九 查询优化 )MySQL学习笔记(十 日志查询分析 )mysql协议如何用java 5分钟实现一个最简单的原创 2022-09-15 09:40:05 · 480 阅读 · 0 评论 -
MySQL学习笔记(十 日志查询分析 )
(1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具 体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 (2)具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 (3)由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能 收集超过5秒的sql,结合之前explain进行全面分析。慢查询日志支持将日志记录写入文件。原创 2022-09-15 09:28:37 · 166 阅读 · 0 评论 -
MySQL学习笔记(九 查询优化 )
在 sort_buffer 中,方法 B 比方法 A 要多占用很多空间,因为方法 B 是把所有字段都取出, 所以有可能取出的数 据的总大小超出了 sort_buffer 的容量,导致每次只能取 sort_buffer 容量大小的数据,进行排序(创建 tmp 文件,多 路合并),排完再取取 sort_buffer 容量大小,再排…… 简单来说,取一批数据,要对磁盘进行了两次扫描,众所周知,I\O 是很耗时的,所以在 mysql4.1 之后,出现了第二种改进的算法,就是单路排序。原创 2022-09-15 09:25:42 · 172 阅读 · 0 评论 -
MySQL学习笔记(八 单表使用索引常见的索引失效 )
原因:使用复合索引,需要遵循最佳左前缀法则,即如果索引了多列,要遵守最左前缀法则。指的是查询从索 引的最左前列开始并且不跳过索引中的列。 SQL 中查询字段的顺序,跟使用索引中字段的顺序,没有关系。 不在索引列上做任何操作(计算、函数、(自动 or 手动)类型转换),会导致索引失效而转向全表扫描。 mysql 在使用不等于(! 结论:全职匹配我最爱指的是,查询的字段按照顺序在索引中都可以匹配到! 查询字段与索引字段顺序的不同会导致,索引无法充分使用,甚至索引失效!原创 2022-09-15 09:15:11 · 291 阅读 · 0 评论 -
MySQL学习笔记(七 批量数据脚本)
在执行创建函数之前,首先请保证 log_bin_trust_function_creators 参数为 1,即 on 开启状态。 在[mysqld]中加上 log_bin_trust_function_creators=1。调用:CALL proc_drop_index(“dbname”,“tablename”);创建函数,保证每条数据都不同。原创 2022-09-15 09:14:34 · 498 阅读 · 0 评论 -
MySQL学习笔记(六 Explain 性能分析)
key 列显示使用了哪个索引一般就是在你的 where 语句中出现 了 between、、in 等的查询这种范围扫描索引扫描比全表扫描要好,因为它只需要开始于索引的某一点,而 结束语另一点,不用扫描全部索引。 非唯一性索引扫描,返回匹配某个单独值的所有行.本质上也是一种索引访问,它返回所有匹配某个单独值的行, 然而,它可能会找到多个符合条件的行,所以他应该属于查找和扫描的混合体。 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。查询涉及到的字段上若存在索引,则该索引将被列出,原创 2022-09-15 09:14:04 · 157 阅读 · 0 评论 -
MySQL学习笔记(五 索引优化分析)
如果要查找数据项 29,那么首先会把磁盘块 1 由磁盘加载到内存,此时发生一次 IO,在内存中用二分查找确定 29 在 17 和 35 之间,锁定磁盘块 1 的 P2 指针,内存时间因为非常短(相比磁盘的 IO)可以忽略不计,通过磁盘块 1 的 P2 指针的磁盘地址把磁盘块 3 由磁盘加载到内存,发生第二次 IO,29 在 26 和 30 之间,锁定磁盘块 3 的 P2 指 针,通过指针加载磁盘块 8 到内存,发生第三次 IO,同时内存中做二分查找找到 29,结束查询,总计三次 IO。原创 2022-09-15 09:12:34 · 100 阅读 · 0 评论 -
MySQL学习笔记(四 SQL 预热)
【代码】MySQL学习笔记(四 SQL 预热)原创 2022-09-14 15:28:02 · 201 阅读 · 0 评论 -
MySQL学习笔记(一 mysql简介)
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。Mysql 是开源的,可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 Mysql 系统。MySQL 使用标准的 SQL 数据语言形式。Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、 Eiffel、Ruby 和 Tcl 等。原创 2022-09-14 15:13:54 · 471 阅读 · 0 评论 -
MySQL学习笔记(三 Mysql 逻辑架构简介)
mysql 客户端通过协议与 mysql 服务器建连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果, 否则进行语句解析,也就是说,在解析查询之前,服务器会先访问查询缓存(query cache)——它存储 SELECT 语句以及 相应的查询结果集。主要体现在 存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。 存储引擎层,存储引擎真正的负责了 MySQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信。命令,可以查看最近的几次查询。原创 2022-09-14 14:52:19 · 127 阅读 · 0 评论 -
MySQL学习笔记( 二 MySql 的用户和权限管理)
localhost 本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p 123xxx 方式的连接。 IP 地址 如 (192.168.1.2,127.0.0.1) 通过制定 ip 地址进行的 TCP 方式的连接。 ::1 IPv6 的本地 ip 地址 等同于 IPv4 的 127.0.0.1。 机器名 通过制定 i 网络中的机器名进行的 TCP 方式的连接。 同一用户通过不同方式链接的权限是不一样的。 % 表示所有远程通过 TCP 方式的连接。原创 2022-09-14 14:43:00 · 138 阅读 · 0 评论