MySQL索引原理与优化实战指南
1. 为什么需要索引从全表扫描到精准定位想象一下你在一个没有目录的图书馆里找一本书。管理员告诉你这里的书是按入库时间堆放的你要找《高性能MySQL》那就从第一排书架开始挨个翻吧。这种场景就是数据库中的全表扫描Full Table Scan。当你的用户表有50万行数据时执行SELECT * FROM users WHERE username张三就会触发这种低效操作。索引的本质是预排序的数据结构。以最常见的B树索引为例它就像图书馆的图书目录系统所有书名按字母顺序排列每个条目记录着书名和对应的书架位置查找时直接定位到字母G区域再细查到高性能MySQL实测对比基于100万行的用户表-- 无索引时 SELECT * FROM users WHERE emailuser123example.com; -- 执行时间: 1.2秒 -- 创建索引后 CREATE INDEX idx_email ON users(email); SELECT * FROM users WHERE emailuser123example.com; -- 执行时间: 0.003秒关键理解索引不是为加速查询而生而是为了避免全表扫描。就像你不能因为有了图书馆目录就宣称加速了找书过程目录的真正价值是让你不用翻遍整个图书馆。2. B树索引的物理实现细节2.1 InnoDB的索引组织方式InnoDB存储引擎采用**索引组织表IOT**设计这意味着表数据本身就是按主键顺序存储的B树。理解这一点至关重要主键索引聚簇索引的叶子节点存储完整的行数据二级索引的叶子节点存储主键值而非物理地址每次通过二级索引查询都需要回表回到主键索引查找完整数据(图示主键索引与二级索引的关系)2.2 页Page的基本单位InnoDB中所有数据存取都以16KB的页为单位每个B树节点对应一个物理页页内通过槽位数组Slot Array管理记录页分裂是影响写入性能的主要因素通过SHOW ENGINE INNODB STATUS可以观察到页分裂情况BUFFER POOL AND MEMORY ---------------------- Pages made young 1246, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 5321, created 1246, written 20832.3 索引的高度与性能一个千万级表的B树索引通常只有3-4层假设每页可存1000条记录指针3层B树可管理1000 × 1000 × 1000 10亿条记录因此大部分查询只需3次I/O即可定位数据计算索引高度的公式树高度 ⌈log_N(记录数)⌉ 1 其中N是单个页能存储的键值数量3. 索引类型全景解析3.1 按功能分类索引类型创建语法适用场景限制条件普通索引INDEX idx_name (col)常规查询条件无特殊限制唯一索引UNIQUE INDEX (col)需要强制唯一性的列不允许重复值主键索引PRIMARY KEY (col)行唯一标识不允许NULL且必须唯一全文索引FULLTEXT INDEX (col)文本内容搜索仅MyISAM/InnoDB(5.6)空间索引SPATIAL INDEX (col)地理空间数据仅MyISAM/支持空间数据类型3.2 按数据结构分类B树索引默认索引类型适合范围查询支持, , , BETWEEN, LIKE prefix%等操作InnoDB中实际使用的变种B树带链接指针哈希索引Memory引擎默认索引精确匹配O(1)时间复杂度不支持范围查询不保证排序InnoDB的自适应哈希索引AHI是内部优化机制R-Tree索引专为空间数据设计支持MBRContains()等空间函数使用场景有限3.3 特殊索引类型覆盖索引Covering Index-- 创建组合索引 CREATE INDEX idx_covering ON users(department, name, hire_date); -- 查询可以被索引完全覆盖 EXPLAIN SELECT department, name FROM users WHERE department Engineering;Extra列显示Using index即表示使用了覆盖索引前缀索引-- 对长文本列前20字符建立索引 CREATE INDEX idx_name_prefix ON users(name(20)); -- 计算合适的前缀长度 SELECT COUNT(DISTINCT LEFT(name,10))/COUNT(*) AS selectivity10, COUNT(DISTINCT LEFT(name,20))/COUNT(*) AS selectivity20 FROM users;选择性(selectivity)越接近1越好4. 索引优化实战策略4.1 索引选择原则三星索引评价标准一星WHERE条件涉及的列都在索引中快速定位二星ORDER BY子句与索引顺序一致避免排序三星SELECT的列被索引完全覆盖避免回表索引选择实战案例-- 查询查找某部门某时间段入职的员工 SELECT id, name FROM employees WHERE department Sales AND hire_date BETWEEN 2020-01-01 AND 2022-12-31 ORDER BY hire_date DESC; -- 最优索引方案 CREATE INDEX idx_dep_hire ON employees(department, hire_date, name, id);该索引同时满足三星标准4.2 索引失效的典型场景隐式类型转换-- phone是varchar类型但用数字查询 SELECT * FROM users WHERE phone 13800138000; -- 解决方案保持类型一致 SELECT * FROM users WHERE phone 13800138000;函数操作索引列-- 对索引列使用函数 SELECT * FROM orders WHERE YEAR(order_date) 2023; -- 优化方案使用范围查询 SELECT * FROM orders WHERE order_date BETWEEN 2023-01-01 AND 2023-12-31;前导通配符LIKE-- 无法使用索引的LIKE SELECT * FROM products WHERE name LIKE %apple%; -- 有限解决方案使用全文索引 CREATE FULLTEXT INDEX idx_ft_name ON products(name); SELECT * FROM products WHERE MATCH(name) AGAINST(apple IN BOOLEAN MODE);4.3 索引维护与监控索引统计信息更新-- 手动更新统计信息 ANALYZE TABLE users; -- 查看索引使用情况 SELECT * FROM sys.schema_index_statistics WHERE table_schema mydb;识别冗余索引-- 使用pt-index-usage工具分析 pt-index-usage /var/lib/mysql/mysql-slow.log -- 或通过performance_schema查询 SELECT * FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL ORDER BY count_star DESC;索引碎片整理-- 查看碎片率 SELECT table_name, index_name, ROUND(stat_value * innodb_page_size / 1024 / 1024, 2) AS size_mb, stat_description FROM mysql.innodb_index_stats WHERE stat_name size AND database_name mydb; -- 优化表重建索引 OPTIMIZE TABLE orders;5. 高级索引技术解析5.1 索引条件下推ICPMySQL 5.6引入的优化技术允许在存储引擎层过滤数据-- 启用ICP默认开启 SET optimizer_switchindex_condition_pushdownon; -- 示例查询 EXPLAIN SELECT * FROM employees WHERE last_name LIKE Smith% AND salary 8000;Extra列显示Using index condition即表示使用了ICP5.2 多范围读MRR优化随机I/O为顺序I/O的技术-- 启用MRR SET optimizer_switchmrron; SET optimizer_switchmrr_cost_basedoff; -- 查看效果 EXPLAIN SELECT * FROM employees WHERE department_id IN (10,20,30);Extra列显示Using MRR5.3 索引合并优化当WHERE条件包含多个索引时可能的优化策略Index Merge Intersection-- 两个独立条件的AND组合 EXPLAIN SELECT * FROM users WHERE account_id 100 AND register_time 2023-01-01;Extra列显示Using intersect(idx_account,idx_register)Index Merge Union-- 两个独立条件的OR组合 EXPLAIN SELECT * FROM users WHERE status active OR is_vip 1;Extra列显示Using union(idx_status,idx_vip)6. 生产环境索引管理经验6.1 索引设计工作流收集查询模式启用慢查询日志使用pt-query-digest分析关注执行频率高、性能差的查询验证索引有效性-- 使用EXPLAIN验证 EXPLAIN FORMATJSON SELECT * FROM orders WHERE user_id 100 AND status paid; -- 或使用优化器跟踪 SET optimizer_traceenabledon; SELECT * FROM orders WHERE user_id 100; SELECT * FROM information_schema.optimizer_trace;A/B测试性能影响-- 创建测试索引 CREATE INDEX idx_test ON orders(user_id, status); -- 对比测试 SELECT BENCHMARK(1000000, (SELECT COUNT(*) FROM orders WHERE user_id 100 AND status paid)); -- 清理测试索引 DROP INDEX idx_test ON orders;6.2 索引监控告警建议监控的关键指标索引使用频率避免无用索引索引大小增长趋势索引碎片率30%应考虑重建索引查询效率扫描行数/返回行数比示例Zabbix监控项UserParametermysql.index_usage[*], mysql -NBe SELECT COUNT_STAR FROM performance_schema.table_io_waits_summary_by_index_usage WHERE OBJECT_SCHEMA$1 AND OBJECT_NAME$2 AND INDEX_NAME$36.3 索引变更管理安全添加索引的步骤在从库测试索引效果使用ALGORITHMINPLACE在线创建低峰期执行监控线程阻塞设置lock_wait_timeout避免长时间锁等待大表索引创建技巧-- 使用pt-online-schema-change工具 pt-online-schema-change --alter ADD INDEX idx_email (email) Dmydb,tusers -- 或分阶段创建MySQL 8.0 SET GLOBAL innodb_parallel_read_threads 16; CREATE INDEX idx_email ON users(email) ALGORITHMINPLACE LOCKSHARED;7. 索引与事务的交互影响7.1 事务隔离级别的影响不同隔离级别下的索引使用差异隔离级别可能影响的索引操作解决方案READ COMMITTED可能使用更保守的索引范围扫描适当调整优化器开关REPEATABLE READ间隙锁导致索引范围扩大精确控制查询条件范围SERIALIZABLE可能退化为全表扫描仅在必要时使用该隔离级别7.2 索引与锁的关联InnoDB的锁机制高度依赖索引无索引查询会锁全表通过索引查询只锁定必要的行唯一索引能优化锁范围演示案例-- 会话1 BEGIN; SELECT * FROM users WHERE age 30 FOR UPDATE; -- 会话2被阻塞 INSERT INTO users(name, age) VALUES (New, 35); -- 查看锁情况 SELECT * FROM performance_schema.data_locks;7.3 索引对MVCC的影响多版本并发控制(MVCC)与索引的关系二级索引不直接存储回滚指针通过主键查找历史版本索引列更新可能导致回表操作增加优化建议避免频繁更新索引列大事务中减少索引扫描范围合理设置innodb_undo_log_truncate8. MySQL 8.0索引新特性8.1 倒序索引Descending Indexes-- 创建倒序索引 CREATE INDEX idx_created_desc ON orders(created_at DESC); -- 在混合排序查询中特别有效 EXPLAIN SELECT * FROM orders WHERE user_id 100 ORDER BY created_at DESC, amount ASC;注意8.0前DESC修饰符会被忽略8.2 函数索引Functional Indexes-- 创建基于函数的索引 CREATE INDEX idx_name_lower ON users((LOWER(name))); -- 查询自动匹配 EXPLAIN SELECT * FROM users WHERE LOWER(name) john doe;8.3 隐藏索引Invisible Indexes-- 创建隐藏索引优化器忽略 CREATE INDEX idx_test ON orders(product_id) INVISIBLE; -- 临时启用测试 SET SESSION optimizer_switchuse_invisible_indexeson; EXPLAIN SELECT * FROM orders WHERE product_id 100; SET SESSION optimizer_switchuse_invisible_indexesoff;8.4 索引跳跃扫描Index Skip Scan-- 对低区分度前列的复合索引优化 CREATE INDEX idx_gender_city ON employees(gender, city); -- 即使不指定gender也能使用索引 EXPLAIN SELECT * FROM employees WHERE city New York;Extra列显示Using index for skip scan9. 分布式环境下的索引挑战9.1 主从复制中的索引差异常见问题场景主库有索引但从库没有索引在不同副本上的统计信息不同复制延迟导致索引使用不一致解决方案-- 使用pt-table-checksum验证一致性 pt-table-checksum --replicatepercona.checksums hmaster,ucheck_user -- 在从库上控制索引使用 SET use_slave_index 0; SELECT /* SET_VAR(use_slave_index1) */ * FROM large_table;9.2 分库分表下的索引策略全局索引表方案-- 全局索引表结构 CREATE TABLE global_idx_user_email ( email VARCHAR(255) PRIMARY KEY, shard_id TINYINT NOT NULL, user_id BIGINT NOT NULL ); -- 查询路由 SELECT shard_id, user_id FROM global_idx_user_email WHERE email userexample.com; -- 然后到对应分片查询详情本地索引广播表方案-- 每个分片维护自己的索引 CREATE INDEX idx_local_email ON users_%{shard}(email); -- 通过中间件合并结果9.3 云原生数据库的索引优化AWS RDS/Aurora优化建议利用Performance Insights识别索引问题使用Aurora的快速DDL特性减少索引维护影响监控Read IOPS判断索引效率阿里云PolarDB注意事项共享存储架构下的索引更新开销只读节点上的索引统计信息同步利用Hash Join优化替代部分索引需求10. 索引设计思维训练10.1 时间序列数据索引电商订单表索引设计案例-- 基础表结构 CREATE TABLE orders ( id BIGINT PRIMARY KEY, user_id BIGINT NOT NULL, order_date DATETIME NOT NULL, status ENUM(pending,paid,shipped,completed) NOT NULL, amount DECIMAL(10,2) NOT NULL ); -- 推荐索引方案 ALTER TABLE orders ADD INDEX idx_user_status_date (user_id, status, order_date); ALTER TABLE orders ADD INDEX idx_date_status (order_date, status);10.2 多租户SaaS应用索引租户隔离场景设计-- 包含tenant_id的复合索引 CREATE INDEX idx_tenant_product ON products(tenant_id, product_code); -- 分区表本地索引 CREATE TABLE events ( id BIGINT, tenant_id INT, event_time DATETIME, PRIMARY KEY (tenant_id, id) ) PARTITION BY HASH(tenant_id) PARTITIONS 16; CREATE INDEX idx_event_time ON events(event_time) LOCAL;10.3 JSON数据类型索引MySQL 8.0的JSON索引实践-- 创建JSON列索引 CREATE TABLE product_catalog ( id BIGINT PRIMARY KEY, attributes JSON, INDEX idx_attributes_price ((CAST(attributes-$.price AS DECIMAL(10,2)))) ); -- 多值索引Multi-Valued Index CREATE INDEX idx_tags ON product_catalog( (CAST(JSON_EXTRACT(attributes, $.tags[*]) AS CHAR(32) ARRAY)) );11. 索引性能基准测试方法论11.1 测试环境设计推荐测试工具组合sysbench基础负载测试TPC-C事务处理测试自定义脚本模拟真实查询模式关键监控指标# 使用Percona PMM监控 pmm-admin add mysql --usernamepmm --passwordxxx --query-sourceperfschema11.2 测试用例设计典型测试场景索引对SELECT查询的加速效果索引对INSERT/DELETE/UPDATE的开销影响并发访问下的索引锁竞争索引维护操作REBUILD/OPTIMIZE的资源消耗11.3 结果分析方法使用R语言进行统计分析library(ggplot2) data - read.csv(index_benchmark.csv) ggplot(data, aes(xindex_type, yquery_time)) geom_boxplot() labs(title不同索引类型的查询性能分布)12. 索引相关参数调优12.1 内存相关参数# InnoDB缓冲池大小建议物理内存的50-75% innodb_buffer_pool_size 12G # 索引统计信息采样页数 innodb_stats_persistent_sample_pages 20 # 自适应哈希索引开关 innodb_adaptive_hash_index ON12.2 优化器相关参数-- 控制索引下推 SET optimizer_switchindex_condition_pushdownon; -- 范围优化设置 SET optimizer_switchrange_optimizer_max_mem_size8388608; -- 索引合并控制 SET optimizer_switchindex_mergeon; SET optimizer_switchindex_merge_intersectionon;12.3 持久化统计信息-- 启用持久化统计 SET GLOBAL innodb_stats_persistentON; -- 设置自动更新阈值 SET GLOBAL innodb_stats_auto_recalcON; SET GLOBAL innodb_stats_persistent_sample_pages20; -- 手动更新统计信息 ANALYZE TABLE orders;13. 索引与存储引擎的协同13.1 InnoDB索引特性聚簇索引结构自适应哈希索引AHI变更缓冲区Change Buffer页压缩对索引的影响13.2 MyISAM索引特点非聚簇索引结构键缓存Key Cache配置全文索引实现差异压缩表与索引关系13.3 内存引擎索引机制哈希索引的精确匹配优势临时表索引选择策略内存限制与索引大小14. 索引与查询重写优化14.1 查询重写技巧-- 原始低效查询 SELECT * FROM products WHERE price 100 OR category_id 5; -- 优化为UNION ALL SELECT * FROM products WHERE price 100 UNION ALL SELECT * FROM products WHERE category_id 5 AND price 100;14.2 使用物化视图MySQL 8.0方案-- 创建物化视图 CREATE TABLE mv_product_stats ( category_id INT PRIMARY KEY, avg_price DECIMAL(10,2), INDEX idx_avg_price (avg_price) ) ENGINEInnoDB; -- 定期刷新 REPLACE INTO mv_product_stats SELECT category_id, AVG(price) FROM products GROUP BY category_id;14.3 利用衍生表优化-- 优化复杂JOIN查询 SELECT t1.* FROM main_table t1 JOIN ( SELECT DISTINCT user_id FROM behavior_log WHERE event_time NOW() - INTERVAL 7 DAY ) t2 ON t1.user_id t2.user_id;15. 未来索引技术展望15.1 机器学习索引自动索引推荐系统查询模式预测索引动态索引调整机制15.2 异构硬件加速持久内存PMEM索引GPU加速索引扫描智能网卡卸载索引操作15.3 分布式索引演进全局索引一致性协议基于RAFT的索引同步多模数据库的跨引擎索引索引设计是一门需要持续学习的艺术。在实际工作中我经常发现教科书上的完美索引方案往往需要根据真实业务场景调整。记住没有放之四海皆准的索引规则只有最适合当前业务需求的索引策略。每次索引变更后务必进行充分的性能测试和监控确保变更带来的是真正的性能提升而非潜在风险。

相关新闻

建设网站需要的软件:从零基础到独立搭建,揭秘那些让你少走弯路的必备工具与避坑指南

建设网站需要的软件:从零基础到独立搭建,揭秘那些让你少走弯路的必备工具与避坑指南

在这个人人都有机会成为“创作者”的时代,拥有一个属于自己的网站,不再仅仅是程序员或技术大牛的专属特权。无论是为了展示个人作品集、搭建小型电商店铺,还是为了运营一个垂直领域的博客,网站都是你在互联网上最稳固的“数字地产”。然而,当真正开始着手准备时,很多人往…

2026/8/5 11:49:18 阅读更多 →
山东网站建设公司哪家专业

山东网站建设公司哪家专业

在这个互联网普及率几乎达到100%的时代,如果你还觉得拥有一个网站只是“锦上添花”的事情,那可能真的有点跟不上节奏了。尤其是对于咱们山东的企业老板们来说,以前做生意靠的是人情世故、靠的是线下口碑,但现在,客户在下单之前,第一件事往往是打开搜索引擎,搜一下你的公…

2026/8/5 11:49:18 阅读更多 →
网站建设宣传册:让品牌在数字时代真正“活”起来,不仅仅是做个页面那么简单

网站建设宣传册:让品牌在数字时代真正“活”起来,不仅仅是做个页面那么简单

咱们今天不聊那些虚头巴脑的大词,也不整什么“颠覆行业”、“重构生态”的PPT黑话。我就想跟各位老板、市场部的负责人,还有那些正在为流量焦虑的创业者们,掏心窝子聊聊一件看似简单、实则深不见底的事儿:网站建设宣传册。很多人听到这四个字,第一反应可能是:“哦,不就是…

2026/8/5 11:49:18 阅读更多 →

最新新闻

零售POS系统服务怎么评估?重点看本地网点和响应速度

零售POS系统服务怎么评估?重点看本地网点和响应速度

评估零售POS系统的服务质量,核心不是看售前演示有多流畅,而是看上线之后遇到问题时能否快速响应、门店换人时培训能否持续跟上、系统能否随业务变化持续迭代、旺季峰值时有没有专项保障。POS系统不是一次性购买的硬件设备,而是门店每天运营都…

2026/8/5 12:42:39 阅读更多 →
国内零售POS系统哪些好用?收银、盘点和会员体验是重点

国内零售POS系统哪些好用?收银、盘点和会员体验是重点

判断一套国内零售POS系统好不好用,核心标准不是功能数量,而是门店日常经营中收银、盘点、会员识别和多店数据汇总这几个高频环节是否真正顺畅、省人工、少出错。很多POS系统在选型演示时看起来功能齐全,但上线后收银员抱怨扫码慢、店长抱怨盘…

2026/8/5 12:42:39 阅读更多 →
OpenClaw 本地化部署指南(全平台)

OpenClaw 本地化部署指南(全平台)

OpenClaw 本地化部署指南(全平台) 目录 一、环境要求 二、依赖安装(按平台) 三、部署 OpenClaw 四、外部渠道连接 五、部署验证 六、常用维护命令 七、常见问题排查 八、参考资源 一、环境要求 1.1 硬件要求 项目最低要求推荐…

2026/8/5 12:42:39 阅读更多 →
3C数码跨境ERP怎么选?序列号追踪和售后管理是核心

3C数码跨境ERP怎么选?序列号追踪和售后管理是核心

3C数码跨境电商ERP是需要在通用跨境订单管理基础上,额外具备序列号全链路追踪、跨境售后维修工单管理、FBA库存健康预警和高价值商品作业溯源能力的行业化系统。与服装、食品等快消品类不同,3C数码产品的单价高、售后链路长、产品迭代快,一台…

2026/8/5 12:42:39 阅读更多 →
Knowledge Catalog 企业级知识库实战教程: Part3_最佳实践与高级应用

Knowledge Catalog 企业级知识库实战教程: Part3_最佳实践与高级应用

文章目录 第二十八章:企业级部署架构与运维 28.1 生产环境架构设计 28.1.1 推荐架构图 28.1.2 组件详解 28.1.3 Docker镜像构建 28.1.4 Cloud Run部署配置 28.2 高可用配置 28.2.1 多区域部署 28.2.2 服务降级策略 28.3 安全加固指南 28.3.1 身份认证与授权 28.3.2 网络安全配…

2026/8/5 12:42:39 阅读更多 →
多模态消息交付成功率提升68%的实战方案,深度拆解扣子底层Token路由机制与Fallback降级策略

多模态消息交付成功率提升68%的实战方案,深度拆解扣子底层Token路由机制与Fallback降级策略

更多请点击: https://intelliparadigm.com 第一章:多模态消息交付成功率提升68%的实战方案全景概览 在高并发、多终端、强时效性的现代通信场景中,短信、语音、邮件、App推送及富媒体卡片等多模态消息通道常因路由策略粗放、状态反馈缺失、重…

2026/8/5 12:41:39 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →