分类: MySQL

41 篇文章

索引失效
like失效 like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。表 city 字段设置有索引。 mysql> EXPLAIN SELECT * FROM `t` WHERE `city` LIKE '%州' LIMIT 0,1000; +----+-…
MySQL删除操作
DML和DDL的区别 DML(Data Manipulation Language)数据操纵语言,对数据库中的数据进行一些简单操作,如insert、delete、update、select等。DML操作是可以手动控制事务的开启、提交和回滚的。 DDL(Data Definition Language…
InnoDB重建表
MyISAM -rw-r----- 1 polkitd input 8556 Mar 26 11:08 test.frm // 存储表定义 -rw-r----- 1 polkitd input 0 Mar 26 11:08 test.MYD // 存储数据 -rw-r----- 1 polkitd …
InnoDB的存储结构
索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table)。 在InnoDB存储引擎表中,每张表都有个主键(Primary Key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创建主…
一条SQL更新语句是如何执行的?
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写: upda…
一条SQL查询语句是如何执行的?
MySQL数据库作为优秀的关系型开源数据库,受到所有人的青睐,我们日常工作中,和其打交道的次数十分频繁,那么你知道我们在写sql的时候,MySQL内部是如何执行的吗?接下来我们就一起探讨一下吧。 MySQL 基本架构 以这条sql语句为例: select * from T where ID=10; …
offset的优化探索
前言 首先明确 limit 和 offset 的使用方式: limit y 表示: 读取 y 条记录 limit x, y 表示: 跳过 x 条记录,读取 y 条记录 limit y offset x 表示: 跳过 x 条记录,读取 y 条记录 准备 SELECT COUNT(*) as coun …
MySQL问题排查步骤
通过 show status 命令了解 SQL 执行次数 首先,我们可以使用 show status 命令查看服务器状态信息。show status 命令会显示每个服务器变量 variable_name 和 value,状态变量是只读的。如果使用 SQL 命令,可以使用 like 或者 where …
MySQL窗口函数
简介 MySQL从8.0开始支持窗口函数,这个功能在大多商业数据库和部分开源数据库中早已支持,有的也叫分析函数。 窗口是什么 窗口的概念非常重要,它可以理解为记录集合,窗口函数也就是在满足某种条件的记录集合上执行的特殊函数。对于每条记录都要在此窗口内执行函数,有的函数随着记录不同,窗口大小都是固定的…