
MySQL
文章平均质量分 63
mysql 专栏
魔舞清华-方
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分组后返回每组中的最后一条记录 GROUP_CONCAT用法
group_contat语法 group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 问题描述 如下表:按name分组后返回每组最后一条数据 Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data原创 2021-05-27 11:59:43 · 1611 阅读 · 0 评论 -
阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决
docker 安装mysql 下拉镜像 docker pull mysql:8.0.20 启动镜像 docker run -p 3306:3306 --name mysql --privileged=true --restart unless-stopped -v /opt/mysql_docker/mysql:/etc/mysql -v /opt/mysql_docker/logs:/logs -v /opt/mysql_docker/data:/var/lib/mysql -v /opt/my原创 2020-08-21 15:12:57 · 1596 阅读 · 0 评论 -
MySQL为什么选择B+树做索引
B树 与 B+树 的区别 B树 B Tree的基本概念:所有的叶子节点的高度都是一样,这个保证了每次查询数据的时候都是稳定的查询效率,不会因为运气的影响 B Tree中其实每个非叶子节点内的小节点内其实都是一个二元组[key, data],key其实就是下图的那个25这种的,然后这个data其实对应的就是数据库中id等于25这条完整的数据记录的内存地址(因为在Myisam中他是数据和索引数据是分开的) B树的特点: 首先B Tree的每一个节点上其实是有date的,这个date其实就是要查找的数据原创 2020-07-30 10:26:07 · 279 阅读 · 0 评论 -
MySQL分页查询优化
利用延迟关联或者子查询优化超多分页场景。 说明:MySQL 并不是跳过 offset 行,而是取 offset+N 行,然后返回放弃前 offset 行,返回 N 行,那当offset 特别大的时候,效率就非常的低下,要么控制返回的总页数,要么对超过特定阈值的页数进行 SQL 优化前sql: SELECT * FROM table1 where 条件 limit 100000,20; 优化后sql: SELECT a.* FROM 表 1 a, (select id from 表 1 where 条件原创 2020-07-21 16:50:47 · 281 阅读 · 0 评论 -
MySql 优化之 Show Profile进行SQL分析
Show Profile是什么 分析步骤 1、查看当前mysql版本是否支持 2、开启功能,默认是关闭,使用前需要开启 3、运行sql 4、 查看结果, show profiles; 5、 诊断SQL 查询参数 日常开发需要注意的结论 ...原创 2020-06-05 20:15:53 · 224 阅读 · 0 评论 -
MySQL锁机制 (行锁和表锁)
表锁(偏读) 特点: 案例分析: 总结 行锁(偏写) 特点: 无索引 (索引失效)导致 行锁升级为表锁 在有索引的列操作,导致索引失效,那么行锁就会升级为表锁 间隙锁的危害 如何锁定一行 行锁分析 总结 ...原创 2020-06-06 10:49:43 · 386 阅读 · 0 评论 -
MySQL 数据库事务
事务的ACID 并发事务带来的问题 更新丢失(Lost Update) 脏读(Dity Reads) 不可重复读(Non-Repeatable Reads) 幻读(Phanton Reads) 事务隔离级别原创 2020-06-06 09:29:02 · 191 阅读 · 0 评论 -
MySQL优化之 慢查询日志
慢查询日志是什么 慢查询日志开启 查看当前慢sql 记录 的时间 查看当前系统中有多少条慢查询记录 日志分析工具 mysqldumpslow 工作常用参考:原创 2020-06-05 19:28:56 · 150 阅读 · 0 评论 -
MySQL优化之Order by 和 Group By 优化
SQL 调优思路 查询优化 永远小表驱动大表 Order by 关键字优化 order by子句,尽量使用Index方式排序,避免使用FileSort方式排序 尽可能在索引列上完成排序操作 ,遵照索引建的最佳左前缀 如果不在索引列上,filesort有两种算法: mysql就要启动双路排序和单路排序 双路排序: 单路排序: 单路排序的问题: 优化策略 order by 总结 Group by 关键字优化 ...原创 2020-06-05 18:56:36 · 661 阅读 · 0 评论 -
MySql 索引优化 和 避免索引失效
建表和索引 索引优化法则 全值匹配案例: 最佳左前缀法则: 如果中间断了,那么只部分使用了索引,只有前面的的字段使用了索引 不在索引列上做任何操作(计算,函数,…) 索引中范围条件右边的列全失效 尽量使用覆盖索引 覆盖索引,直接去索引中取数据,不去表中取数据,大大提高效率 mysql 在使用不等于(!= 或者 <>)的时候无法使用索引导致全表扫描 is null , not null 也无法使用索引 like以通配符开头(‘%abc…’) mysql索引失效会变成全表扫描 案原创 2020-06-05 17:11:02 · 467 阅读 · 0 评论 -
MySQL 性能分析 - Explain
MySql Query Optimizer(mysql 查询优化器) MySql 常见瓶颈 Explain Explain 介绍 Explain 的作用 Explain 的使用 Explain + SQL语句 执行计划包含的信息: Explain 的字段解释 id select查询的序列号,包含一组数字,表示 查询中执行select子句或者操作表的顺序 三种情况: id相同,执行顺序由上至下 如下示例:表示执行顺序 id不同,如果是子查询,id序号会递增,id值越大优先级越高,越先被执行 i原创 2020-06-05 12:34:25 · 191 阅读 · 0 评论 -
MySql 索引
索引是什么 索引优劣势 优势 劣势 索引分类 单值索引 即一个索引只包含单个列,一个表可以有多个单列索引 唯一索引 索引列的值必须唯一,但运行有空值 复合索引 即一个索引包含多个列 索引语法 使用 alter 来创建索引 索引结构 Hash索引,full-text全文索引,R-Tree索引 BTree 索引 创建索引的时机 哪些情况下需要创建索引 哪些情况下不需要创建索引 ...原创 2020-06-05 10:12:03 · 126 阅读 · 0 评论 -
mysql 存储引擎
mysql 存储引擎 MyISAM 和 InnoDB 查看mysql 现在已提供什么存储引擎 show engines; MyISAM 和 InnoDB 区别原创 2020-06-05 09:31:40 · 139 阅读 · 0 评论 -
CentOs7下安装mysql5.7.23(rpm安装)
准备 一台装有centos7.3的电脑(或虚拟机),mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar mysql的rpm安装集合包 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 注意这样选择,可以获得centos支持的版本。 安装环境 我们先把下载的mysql-5.7.23-1....原创 2019-07-05 18:27:50 · 884 阅读 · 0 评论 -
Mysql5.1 , Mysql5.5, Mysql5.7, Mysql8.0各个版本性能对比
Mysql5.5 特性,相对于Mysql5.1 性能提升 默认InnoDB plugin引擎。具有提交、回滚和crash恢复功能、ACID兼容。 行级锁(一致性的非锁定读 MVCC)。 表与索引存储在表空间、表大小无限制。 支持dynamic(primary key缓存内存 避免主键查询引起的IO )与compressed(支持数据及索引压缩)行格式。 InnoDB plugin文件格式Barra...原创 2019-07-05 09:52:45 · 45669 阅读 · 0 评论