- 博客(9)
- 收藏
- 关注
原创 MySQL导致索引失效的常见行为有哪些?
才会导致索引失效,原理也很容易理解,因为如果对索引列使用了函数,那么需要对每行的索引列通过函数计算后得出结果,再与输入参数对比,这样一来很可能打破索引的有序性,也就无法通过索引树快速查找了。原因就是可能会触发隐式类型转换,而隐式类型转换会对 索引列使用函数,从而导致索引失效,至于为什么对索引列使用函数会导致索引失效,请看第2条。如果查询的字段不完全被索引覆盖,MySQL 可能会选择全表扫描。对于复合索引,查询条件必须包含最左边的索引列,否则索引失效。条件中的索引列和非索引列一起使用时,索引可能失效。
2024-12-10 15:17:58
964
原创 Java的NIO主要包含哪些主要角色?分别是哪些类?
Java的NIO(New Input/Output)主要是为了解决传统IO性能较差的问题,提供了一种面向缓冲区、非阻塞的I/O处理方式。Java NIO的这些组件共同协作,使得Java能够在处理大数据量和高并发情况下,有更好的I/O性能和资源利用率。
2024-11-08 21:15:00
241
原创 Java之BIO、NIO:流(Stream)与通道(Channel)分别是指什么?两者之间有何异同?
特性流(Stream)通道(Channel)方向单向(输入流/输出流)双向模式阻塞支持阻塞和非阻塞模式缓冲区支持无内置缓冲(需手动加Buffered类)自带缓冲区(Buffer)多路复用支持不支持支持(通过Selector实现)适用场景简单、低并发、小数据量高并发、大数据量、网络I/O总体而言,流适合简单的I/O操作,而通道则针对高效、非阻塞的I/O处理,在需要提升性能和资源利用率的场景下尤为有用。
2024-11-08 20:30:00
1820
原创 I/O操作中,什么是“流”?
在Java以及大多数编程语言中,,它并不是一个具体的物理实物,而是用于描述数据在程序和数据源或数据目标之间传输的过程。可以把流理解成一条“数据管道”,通过它,数据可以在系统的不同部分之间传递。
2024-11-08 14:31:07
155
原创 MongoDB与MySQL的事务能力
MongoDB 和 MySQL 都提供了事务支持,但实现方式和能力有所不同。MySQL 在事务处理方面具有成熟的支持和强大的 ACID 特性,特别是在复杂的多表事务和高并发场景中表现稳定。MongoDB 在 4.2 版本及以后的版本中增加了多文档事务支持,能够提供 ACID 保证,但在性能和复杂性上可能与传统关系型数据库有所差距。选择哪种数据库取决于应用的具体需求和场景。
2024-07-27 16:46:28
1764
原创 MySQL的EXPLAIN语句之type字段详解
语句时,MySQL会返回一个关于查询计划的描述,这被称为执行计划或查询计划。执行计划包含了MySQL如何执行查询的详细信息,包括访问哪些表、按什么顺序访问、以及如何从这些表中检索数据。字段可以帮助我们诊断查询性能问题,并采取措施优化查询,如添加合适的索引或调整查询结构。,这一列描述了MySQL访问表的方式,也称为“联接类型”或“访问类型”。字段的值可以有多种,每一种都表示了不同的效率级别。语句是一个非常有用的工具,用于帮助分析和优化查询性能。语句返回的结果集中有一列名为。
2024-07-18 17:53:34
1801
原创 MongoDB的索引类型
索引类型适用场景支持的查询类型主要特点B树索引大多数查询场景,包括范围查询和排序等值查询、范围查询、排序、前缀匹配适用于大多数查询类型哈希索引高效的等值查询等值查询不支持范围查询全文索引复杂的文本搜索全文搜索、文本匹配适用于文本搜索和权重排序地理空间索引地理位置数据的处理地理空间数据查询支持位置范围查询多键索引数组字段的查询对数组中的每个元素进行索引处理数组数据复合索引涉及多个字段的查询操作多字段组合查询、排序适用于复杂的查询需求唯一索引保证字段值唯一等值查询。
2024-07-16 17:20:35
2479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人