![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 63
mysql 专栏
魔舞清华-方
这个作者很懒,什么都没留下…
展开
-
分组后返回每组中的最后一条记录 GROUP_CONCAT用法
group_contat语法group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])问题描述如下表:按name分组后返回每组最后一条数据Id Name Other_Columns-------------------------1 A A_data_12 A A_data_23 A A_data_34 B B_data原创 2021-05-27 11:59:43 · 1380 阅读 · 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 · 1495 阅读 · 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 · 224 阅读 · 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 · 195 阅读 · 0 评论 -
MySql 优化之 Show Profile进行SQL分析
Show Profile是什么分析步骤1、查看当前mysql版本是否支持2、开启功能,默认是关闭,使用前需要开启3、运行sql 4、 查看结果, show profiles;5、 诊断SQL查询参数日常开发需要注意的结论...原创 2020-06-05 20:15:53 · 174 阅读 · 0 评论 -
MySQL锁机制 (行锁和表锁)
表锁(偏读)特点:案例分析:总结行锁(偏写)特点:无索引 (索引失效)导致 行锁升级为表锁在有索引的列操作,导致索引失效,那么行锁就会升级为表锁间隙锁的危害如何锁定一行行锁分析总结...原创 2020-06-06 10:49:43 · 320 阅读 · 0 评论 -
MySQL 数据库事务
事务的ACID并发事务带来的问题更新丢失(Lost Update)脏读(Dity Reads)不可重复读(Non-Repeatable Reads)幻读(Phanton Reads)事务隔离级别原创 2020-06-06 09:29:02 · 147 阅读 · 0 评论 -
MySQL优化之 慢查询日志
慢查询日志是什么慢查询日志开启查看当前慢sql 记录 的时间查看当前系统中有多少条慢查询记录日志分析工具 mysqldumpslow工作常用参考:原创 2020-06-05 19:28:56 · 110 阅读 · 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 · 574 阅读 · 0 评论 -
MySql 索引优化 和 避免索引失效
建表和索引索引优化法则全值匹配案例:最佳左前缀法则:如果中间断了,那么只部分使用了索引,只有前面的的字段使用了索引不在索引列上做任何操作(计算,函数,…)索引中范围条件右边的列全失效尽量使用覆盖索引覆盖索引,直接去索引中取数据,不去表中取数据,大大提高效率mysql 在使用不等于(!= 或者 <>)的时候无法使用索引导致全表扫描is null , not null 也无法使用索引like以通配符开头(‘%abc…’) mysql索引失效会变成全表扫描案原创 2020-06-05 17:11:02 · 407 阅读 · 0 评论 -
MySQL 性能分析 - Explain
MySql Query Optimizer(mysql 查询优化器)MySql 常见瓶颈ExplainExplain 介绍Explain 的作用Explain 的使用Explain + SQL语句执行计划包含的信息:Explain 的字段解释idselect查询的序列号,包含一组数字,表示 查询中执行select子句或者操作表的顺序三种情况:id相同,执行顺序由上至下如下示例:表示执行顺序id不同,如果是子查询,id序号会递增,id值越大优先级越高,越先被执行i原创 2020-06-05 12:34:25 · 148 阅读 · 0 评论 -
MySql 索引
索引是什么索引优劣势优势劣势索引分类单值索引即一个索引只包含单个列,一个表可以有多个单列索引唯一索引索引列的值必须唯一,但运行有空值复合索引即一个索引包含多个列索引语法使用 alter 来创建索引索引结构Hash索引,full-text全文索引,R-Tree索引BTree 索引创建索引的时机哪些情况下需要创建索引哪些情况下不需要创建索引...原创 2020-06-05 10:12:03 · 100 阅读 · 0 评论 -
mysql 存储引擎
mysql 存储引擎MyISAM 和 InnoDB查看mysql 现在已提供什么存储引擎show engines;MyISAM 和 InnoDB 区别原创 2020-06-05 09:31:40 · 106 阅读 · 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 · 816 阅读 · 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 · 44655 阅读 · 0 评论