09 2023 档案

摘要:1)、使用正确的连接类型:根据查询需求,选择合适的连接类型,如 INNER JOIN、LEFT JOIN 或 RIGHT JOIN。INNER JOIN 通常性能较好,因为只返回匹配的记录。 INNER JOIN:仅返回两个表中匹配的行。LEFT JOIN:返回左表中所有行,以及右表中匹配的行。RI 阅读全文
posted @ 2023-09-19 14:34 李若盛开 阅读(2370) 评论(0) 推荐(0) 编辑
摘要:一、行锁和表级锁的区别: 行锁:开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作表锁:开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发度低。直接锁定整张表,在锁定期间,其它进程无法对该表进 阅读全文
posted @ 2023-09-19 11:27 李若盛开 阅读(1256) 评论(0) 推荐(0) 编辑
摘要:主要原因有三点: 1)查询时,由于innodb支持事务,所以会有mvvc(多版本并发控制)的一个比较,这个过程会损耗性能。2)查询时,如果走了索引,而索引又不是主键索引,此时由于innodb是聚簇索引,会有一个回表的过程,即:先去非聚簇索引树(非主键索引树)中查询数据,找到数据对应的key之后,再通 阅读全文
posted @ 2023-09-19 10:40 李若盛开 阅读(711) 评论(0) 推荐(0) 编辑
摘要:InnoDB存储引擎是以页为单位来管理空间的,一般进行的增删改查操作其实本质都是在访问页面(读页面,写页面,创建新页面)等,磁盘IO需要消耗的时间很多,而在内存中进行操作,效率会高,为了能让数据表或者索引中的数据随时被使用,DBMS会申请占用内存来作为数据缓冲池,在真正访问页面之前,需要把磁盘上的页 阅读全文
posted @ 2023-09-18 22:08 李若盛开 阅读(690) 评论(0) 推荐(0) 编辑
摘要:1. 多态多态是指根据类型的具体实现采取不同行为的能力。如果某个类型实现了某个接口,那么所有使用这个接口的地方,都可以支持这种类型的值。即不同的数据类型的实体实现提供统一的接口。Go中没有类的概念,它的多态是靠接口来实现的。 2.举例有这样一个场景,我们在应用开发中涉及到很多通知事件,通知的类型可以 阅读全文
posted @ 2023-09-16 23:36 李若盛开 阅读(150) 评论(0) 推荐(0) 编辑
摘要:主查询的表称为外表,子查询的表称为内表。in 是把外表和内表作 hash 连接,而 exists 是对外表作 loop 循环,每次 loop 循环再对内表进行查询。in查询的子条件返回结果必须只有一个字段,exists就没有这个限制。内表小,用 in 效率较高;内表大,用 exists 效率较高;无 阅读全文
posted @ 2023-09-15 20:39 李若盛开 阅读(19) 评论(0) 推荐(0) 编辑
摘要:explain执行后返回id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra列。 1、id列id列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按照select出现顺序增长的,MySQL将 阅读全文
posted @ 2023-09-14 18:41 李若盛开 阅读(776) 评论(0) 推荐(1) 编辑
摘要:单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 组合索引:即一个索包含多个列。 怎么选择: 如果查询where条件只有一个,完全可以用单列索引,这样的查询速度较快,索引也比较瘦身。 如果业务场景是需要经常查询多个组合列,不要试图分别基于单个列建立多个单列索引(因为虽然 阅读全文
posted @ 2023-09-14 14:23 李若盛开 阅读(558) 评论(0) 推荐(0) 编辑
摘要:索引下推(index condition pushdown)简称ICP,在Mysql5.6版本上推出,用于优化查询。索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。 MySQL服务层负责SQL语法解析、生成执行计划等,并调用存储引擎层去执行数据的存储和检索。 其实 阅读全文
posted @ 2023-09-13 10:27 李若盛开 阅读(85) 评论(0) 推荐(0) 编辑
摘要:Mysql回表指的是在InnoDB存储引擎下,二级索引(非聚集索引)查询到的索引列,如果需要查找所有列的数据,则需要到主键索引(聚集索引)里面去取出数据。这个过程就称为回表。因为行的数据都是存在主键索引B+tree的叶子节点里面,二级索引的B+树叶子节点都是存放的索引列、主键。【在使用非聚簇索引查询 阅读全文
posted @ 2023-09-13 00:12 李若盛开 阅读(451) 评论(0) 推荐(0) 编辑
摘要:原因:用的方法与redis服务器中存储数据的类型存在冲突。 比如:有一个key的数据存储的是list类型的,但使用redis执行数据操作的时候却使用了非list的操作方法。 对一个Redis键执行不兼容的操作,这个错误通常发生在以下情况: 1、类型不匹配:试图执行的操作与键存储的数据类型不匹配。例如 阅读全文
posted @ 2023-09-12 11:43 李若盛开 阅读(3355) 评论(0) 推荐(0) 编辑
摘要:使用go的第三方包:github.com/rabbitmq/amqp091-go 出现报错:get mq channel error {"error": "Exception (504) Reason: channel id space exhausted"} ctx := context.Back 阅读全文
posted @ 2023-09-12 11:24 李若盛开 阅读(430) 评论(0) 推荐(0) 编辑
摘要:1、硬件和操作系统层面的优化 硬件:cpu、内存、磁盘io、网络带宽操作系统:Linux、Windows(mysql最初就是基于linux系统开发的,所以mysql在linux系统上的稳定性和性能普遍比在windows系统上高很多。)应用文件句柄(ulimit -a open files)网络配置 阅读全文
posted @ 2023-09-01 11:58 李若盛开 阅读(66) 评论(0) 推荐(0) 编辑
摘要:MySQL索引是提高查询效率的重要工具。其中,type ref索引是一种比较常见的索引类型。本文将介绍type ref索引的原理及优化方法,帮助更好地使用MySQL索引。 一、type ref索引的原理 type ref索引是一种基于非唯一索引的查找方式。当MySQL使用非唯一索引进行查询时,会返回 阅读全文
posted @ 2023-09-01 11:56 李若盛开 阅读(1025) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示