MySQL索引、B+树相关知识总结

MySQL索引、B+树相关知识总结
在这里插入图片描述

MySQL索引、B+树相关知识汇总

一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?

如果 orders 表是大表(比如 1000 万条记录),而 users 表是相对较小的表(比如几千条记录)。

1、为关联字段建立索引

确保两个表中用于 JOIN 操作的字段都有索引。这是最基本的优化策略,避免数据库进行全表扫描,可以大幅度减少查找匹配行的时间。

2、小表驱动大表

在执行 JOIN 操作时,先过滤小表中的数据,这样可以减少后续与大表进行 JOIN 时需要处理的数据量,从而提高查询效率。

二、b树和b+树的区别

B+ 树相比较 B 树,有这些优势:

1、更高的查询效率

B+树的所有值(数据记录或指向数据记录的指针)都存在于叶子节点,并且叶子节点之间通过指针连接,形成一个有序链表。

这种结构使得 B+树非常适合进行范围查询,一旦到达了范围的开始位置,接下来的元素可以通过遍历叶子节点的链表顺序访问,而不需要回到树的上层。如 SQL 中的 ORDER BY 和 BETWEEN 查询。

而 B 树的数据分布在整个树中,进行范围查询时可能需要遍历树的多个层级。

2、更高的空间利用率

在 B+树中,非叶子节点不存储数据,只存储键值,这意味着非叶子节点可以拥有更多的键,从而有更多的分叉。
这导致树的高度更低,进一步降低了查询时磁盘 I/O 的次数,因为每一次从一个节点到另一个节点的跳转都可能涉及到磁盘 I/O 操作。

3、查询效率更稳定

B+树中所有叶子节点深度相同,所有数据查询路径长度相等,保证了每次搜索的性能稳定性。而在 B 树中,数据可以存储在内部节点,不同的查询可能需要不同深度的搜索。

三、innodb使用数据页存储数据?默认数据页大小16K,我现在有一张表,有2kw数据,我这个b+树的高度有几层?

在 MySQL 中,InnoDB 存储引擎的最小存储单元是页,默认大小是16k
如果有 2KW 条数据,那么这颗 B+树的高度为 3 层。

四、redis为什么快?

1、基于内存的数据存储

Redis 将数据存储在内存当中,使得数据的读写操作避开了磁盘 I/O。而内存的访问速度远超硬盘,这是 Redis 读写速度快的根本原因。

2、单线程模型

Redis 使用单线程模型来处理客户端的请求,这意味着在任何时刻只有一个命令在执行。这样就避免了线程切换和锁竞争带来的消耗。

3、IO多路复用

Redis 单个线程处理多个 IO 读写的请求。

4、高效的数据结构

Redis 提供了多种高效的数据结构,如字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)等,这些数据结构经过了高度优化,能够支持快速的数据操作。

五、建立联合索引(a,b,c),where c = 5是否会用到索引?为什么?

在这个查询中,只有索引的第三列 c 被用作查询条件,而前两列 a 和 b 没有被使用。这不符合最左前缀原则,因此 MySQL 不会使用联合索引 (a,b,c)。

1、对empname,deptid,jobs3列建立索引语句:

create index idx_t1_bcd on employees(empname,deptid,jobs)

2、EXPLAIN select * from employees where jobs=“测试经理” ,没有使用索引

在这里插入图片描述


3、EXPLAIN select * from employees where deptid=“1003” ,没有使用索引

在这里插入图片描述


4、EXPLAIN select * from employees where empname=“张飞” 使用了索引

在这里插入图片描述


5、EXPLAIN select * from employees where jobs=“测试” and deptid=“1002”
没有使用索引

6、EXPLAIN select * from employees where jobs=“测试” or deptid=“1002”
没有使用索引

在这里插入图片描述


7、EXPLAIN select * from employees where deptid=“1002” and jobs=“测试” and empname=“张飞” 使用了索引

在这里插入图片描述

8、EXPLAIN select * from employees where deptid=“1002” or jobs=“测试” or empname=“张飞” 不使用索引

在这里插入图片描述

9、EXPLAIN select * from employees where deptid=“1002” and jobs=“测试” and empname LIKE “%飞”;不使用索引

在这里插入图片描述

10、EXPLAIN select * from employees where deptid LIKE “%002” and jobs=“测试” and empname = “张飞”;使用了索引

在这里插入图片描述

Read more

隐私安全!Z-Image i2L本地AI绘画解决方案

隐私安全!Z-Image i2L本地AI绘画解决方案 1. 前言:当AI绘画遇上隐私焦虑 你有没有过这样的经历? 想用AI生成一张创意图片,可能是个人头像、产品概念图,或者一些比较私密的创作灵感。但当你把想法输入到某个在线AI绘画平台时,心里总会犯嘀咕:我的描述词会不会被记录?生成的图片会不会被平台拿去训练模型?如果涉及商业机密或个人隐私,该怎么办? 这正是许多创作者和企业面临的现实困境。在线AI绘画工具虽然方便,但数据安全和隐私保护始终是个绕不开的问题。今天,我要介绍一个完全不同的解决方案——Z-Image i2L本地AI绘画工具。 这个工具最大的特点就是:一切都在你的电脑上运行,数据不出本地,隐私绝对安全。无论你是生成商业设计稿、个人艺术作品,还是任何敏感内容,都不需要担心数据泄露的风险。 更重要的是,它不只是“能用”,而是“好用”。经过专门的性能优化,即使在普通消费级显卡上,也能流畅运行,生成高质量的图像。接下来,我将带你深入了解这个工具,看看它是如何工作的,以及如何快速上手使用。 2. 核心原理:底座模型+权重注入 要理解Z-Image

By Ne0inhk
论文查重前必备的5款AIGC检测工具盘点

论文查重前必备的5款AIGC检测工具盘点

论文查重前必备的5款AIGC检测工具盘点 TL;DR:2026年几乎所有高校都要求进行AIGC检测,AI率超过20%就会被标记。提交学校前一定要自己先测一下,但不同平台算法差异大,最好用学校指定的同款。这篇文章盘点5款主流AIGC检测工具,附带高效的降AI方案。 为什么AIGC检测变得这么重要 说实话,去年这个时候我还觉得AIGC检测是个新鲜事物,没想到2026年一开年就成了毕业论文的标配环节。我有个同学就吃了亏,论文内容明明是自己写的,结果学校检测出来AI率38%,被要求重新修改。后来我才了解到,现在的AIGC检测系统不只是看你有没有用AI,而是会分析文本的「语义逻辑连贯性」和「文本特征指纹」。简单说就是,如果你的文字太「工整」、太「标准」,系统就会怀疑是AI生成的。2025年12月28日知网AIGC检测系统完成升级之后,检测能力又上了一个台阶,很多以前能过的论文现在都过不了了。 提前自查的重要性 很多同学有个误区,觉得学校查就学校查呗,到时候再说。这个想法真的很危险。首先,不同检测平台的算法是不一样的,你用一个免费工具测出来20%,结果学校用另一个平台可能查出来40%

By Ne0inhk
“AI痕迹太重怎么办?”15个提示词教你降低AIGC率,让写作更像人!

“AI痕迹太重怎么办?”15个提示词教你降低AIGC率,让写作更像人!

还在被AIGC率检测卡住?写得再好,也逃不过“AI痕迹”?别急,这篇文章教你15条最实用的“人类化”提示词,让你的写作摆脱机器人味,一键降重过检! 🧠 为什么你写的AI文章“看起来就像AI写的”? 在很多AIGC检测系统中,比如新版知网、Turnitin、Grammarly、GPTZero等,AI生成内容往往因为这些特征而中招: * 表达过于标准、学境思源,结构死板(比如“引言-三点论证-结尾”的模板) * 用词中性均衡,一键生成,缺乏语气变化 * 没有细节、论文初稿,acaids.com。比喻或非逻辑性插话 * 引用来源少或太“教科书式” * 缺乏真实感和主观思维 这就导致了一个问题:AI写得虽然通顺,但“太工整”,反而容易被机器识别成AI! 🛠️ 如何让AI帮你“写得不像AI”?15个逆转提示词来了! 别再单靠“降重工具”打补丁。更聪明的做法是——从源头开始用“降AIGC率提示词”来让AI写得更像人。

By Ne0inhk
文心一言开源版部署及多维度测评实例

文心一言开源版部署及多维度测评实例

文章目录 * 第一章 文心一言开源模型简介 * 第二章 模型性能深度实测 * 2.1 通用能力基准测试 * 2.1.1 文本生成质量 * 2.1.2 数学推理能力 * 2.2 极端场景压力测试 * 2.2.1 高并发性能 * 2.2.2 长上下文记忆 * 第三章 中文特色能力解析 * 3.1.2 文化特定理解 * 3.2 行业术语处理 * 3.2.1 法律文书解析 * 3.2.2 医疗报告生成 * 第四章 开源生态建设评估 * 4.1 模型可扩展性验证 * 4.

By Ne0inhk