![](https://img-blog.csdnimg.cn/direct/d9913d5c453c4242af5a2bb498174a28.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
mysql
酒醉的胡铁
这个作者很懒,什么都没留下…
展开
-
MySql 中like的模糊查询如何优化
在MySQL中,使用like进行模糊查询,在一定情况下是无法使用索引的%abc%%abcabc%原创 2024-02-23 16:07:31 · 665 阅读 · 0 评论 -
联合索引的最左匹配原则
比如a=3 and b=4 and c>5 and d=6,如果建立(a,b,c,d)顺序的索引,d是用不到索引的;如果建立(a,b,d,c)的索引,则都可以用到,a,b,d的顺序都可以任意调整。=和in可以乱序,比如a=1 and b=2 and c=3建立(a,b,c)索引可以任意顺序,MySQL的查询优化器会帮你优化成索引可以识别的形式。例如当我们在(a,b,c)三个字段上创建联合索引时,实际上是创建了三个索引,分别是(a)、(a,b)、(a,b,c)。但是在MySQL 8.0中,就不一定了。原创 2023-12-25 10:06:19 · 12274 阅读 · 0 评论 -
MySql 索引覆盖 索引下推
覆盖索引(covering index)指一个查询语句的执行只用从索引中就能够取得,不必从数据表中读取。也可以称之为实现了索引覆盖。当一条查询语句符合覆盖索引条件时,MySQL只需要通过索引就可以返回查询所需要的数据,这样避免了查到索引后再返回表操作,减少I/O提高效率。如,表covering_index_sample中有一个普通索引 idx_key1_key2(key1,key2)。的时候,就可以通过覆盖索引查询,无需回表。但是如果SQL中查询的信息不包含在联合索引中,那么就不会走索引覆盖。原创 2023-12-25 10:04:17 · 12206 阅读 · 0 评论 -
MySql简单实现多字段模糊查询
返回值:由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT允许只有一个输入参数的情况。《MySQL权威指南》中CONCAT的使用方法,在书中的对CONCAT的描述是。因此,MySQL单表多字段模糊查询可以通过下面这个SQL查询实现。类似于如此则可以进行简单的多字段模糊搜索了。原创 2023-12-25 09:59:51 · 12348 阅读 · 0 评论 -
MySql binlog命令使用
如果我们是要恢复数据到源数据库或者和源数据库有相同 GTID 信息的实例,那么就要使用该参数。如果不带该参数的话,是无法恢复成功的。因为包含的 GTID 已经在源数据库执行过了,根据 GTID 特性,一个 GTID 信息在一个数据库只能执行一次,所以不会恢复成功。如果是恢复到其他实例的数据库并且不包含源实例的 GTID 信息,那么可以不使用该参数,使用或者不使用都可以恢复成功。是否使用–skip-gtids=true 参数,要根据情况来定;–skip-gtids=xxx的作用为:mysqldump。原创 2023-12-25 09:58:09 · 12258 阅读 · 0 评论 -
什么是聚簇索引和非聚簇索引
其实,数据库中的每行记录中,除了保存了我们自己定义的一些字段以外,还有一些重要的 db_row_id字段,其实他就是一个数据库帮我添加的隐藏主键,如果我们没有给这个表创建主键,会选择一个不为空的唯一索引来作为聚簇索引,但是如果没有合适的唯一索引,那么会以这个隐藏主键来创建聚簇索引。而非聚簇索引的叶子节点中存储的是主键ID,所以,通过非聚簇索引的查询,需要进行一次回表,就是先查到ID,在通过ID查询所需字段。它不影响表中数据的物理存储顺序,而是单独创建一张索引表,用于存储索引列和对应行的指针。原创 2023-12-24 23:49:44 · 12213 阅读 · 0 评论 -
MySql 快照读和当前读
所谓快照读,就是读取的是快照数据,即快照生成的那一刻的数据,像我们常用的普通的SELECT语句在不加锁情况下就是快照读。原创 2023-12-24 23:48:05 · 12188 阅读 · 0 评论 -
Mysql MVCC
如果db_trx_id大于或者等于ReadView中low_limit_id值,说明(生成该版本的事务在当前事务生成readView之后才开启)即:我们开启事务未修改该记录之前,已经有另外一个事务开启,并且正在修改该事务了,因此,这条记录对我们来说依然是不可见的,我们不能修改。如果db_trx_id与ReadView中的creator_trx_id值相同,说明当前事务修改的记录就是在当前事务下操作的,那当然是对我们可见的了,因此可以修改这条记录。up_limit_id,未提交的事务中最小的事务 ID。原创 2023-12-24 23:41:15 · 12703 阅读 · 0 评论