MySQL性能优化实战:从索引设计到架构调优的九大核心方法
1. 项目概述为什么MySQL优化是每个开发者的必修课干了这么多年后端我处理过形形色色的数据库问题其中十有八九都和性能有关。一个查询从最初的几十毫秒随着数据量增长逐渐变成几秒甚至几十秒这种“温水煮青蛙”式的性能衰退往往是系统最终崩溃的序曲。MySQL作为最流行的开源关系型数据库其优化并非高深莫测的玄学而是一系列有章可循、可落地实操的工程方法。今天我们不谈空洞的理论就结合我踩过的坑和填过的坑系统性地拆解MySQL中最常见、最有效的9种优化方法。无论你是正在为线上慢查询焦头烂额的资深工程师还是希望提前规避性能瓶颈的新手开发者这篇文章都能给你提供一套从设计到运维、从SQL到架构的完整优化工具箱。记住优化的目标不是炫技而是用最小的成本换取系统更长的稳定运行时间和更好的用户体验。2. 核心优化思路从“救火”到“防火”的思维转变在深入具体方法之前我们必须先统一思想优化是一个系统工程而非孤立的技术点堆砌。很多团队习惯于“头痛医头脚痛医脚”出现慢查询就加索引内存不足就扩容硬件这种被动“救火”模式成本高昂且效果有限。真正的优化应该建立“防火”思维即在系统设计、开发、测试、上线的全生命周期中主动植入性能考量。2.1 优化金字塔资源、配置、架构与SQL我把MySQL优化抽象为一个四层金字塔模型从下到上影响范围递减但优化难度和收益往往递增。硬件与系统资源层这是最底层的基础。包括CPU、内存、磁盘I/O特别是IOPS和吞吐量、网络带宽。如果磁盘是低速的机械硬盘那么再好的索引和SQL也无力回天。这一层的优化通常通过升级硬件或使用更高效的存储方案如SSD来解决见效快但成本也最高。MySQL服务配置层即my.cnf或my.ini中的各项参数。例如innodb_buffer_pool_sizeInnoDB缓冲池大小建议设置为物理内存的50%-70%、max_connections最大连接数、query_cache_size查询缓存注意MySQL 8.0已移除等。错误的配置会让MySQL“有力使不出”。数据库架构与设计层包括表结构设计、索引设计、分库分表策略、读写分离等。这一层决定了数据组织的“先天体质”。糟糕的表设计如滥用TEXT类型、没有主键会带来持续的维护成本。SQL与查询层这是最上层也是开发者日常接触最多的一层。包括具体的SQL语句写法、事务使用、连接方式等。一条糟糕的SQL足以拖垮整个数据库。本篇文章将重点聚焦在架构设计层和SQL查询层因为这两层是开发者和DBA最能发挥主观能动性、性价比最高的优化战场。同时也会涉及必要的配置层要点。2.2 性能基准与度量没有度量就没有优化在开始任何优化动作前你必须先回答“当前性能到底如何瓶颈在哪里”盲目优化是最大的浪费。MySQL提供了强大的性能洞察工具慢查询日志 (Slow Query Log)这是定位问题SQL的利器。通过设置long_query_time如0.1秒MySQL会自动记录所有执行时间超过该阈值的SQL及其详细信息执行时间、锁等待时间、扫描行数等。这是你优化之旅的起点。EXPLAIN命令这是理解单条SQL执行计划的“显微镜”。通过EXPLAIN SELECT ...你可以看到MySQL打算如何使用索引、如何连接表、需要扫描多少行数据。看懂EXPLAIN的输出是SQL优化的基本功。性能模式 (Performance Schema) 与 系统表 (INFORMATION_SCHEMA)用于更深入、更实时地监控数据库内部状态如锁争用、内存使用、线程活动等。外部监控工具如Percona Monitoring and Management (PMM)、Prometheus Grafana等提供可视化的历史性能趋势分析。我的实操心得一定要为线上数据库开启慢查询日志并定期分析。我曾经通过分析一个日志文件发现了一条全表扫描的查询它在高峰期每分钟被执行上万次优化后添加了一个复合索引该表的平均查询耗时从800ms降到了8ms效果立竿见影。3. 九大核心优化方法深度解析接下来我们进入正题逐一拆解这九种方法。我会按照从设计到查询、从局部到整体的逻辑顺序展开。3.1 方法一为查询创建高效的索引索引是优化中最经典、最有效的手段没有之一。它的原理就像一本书的目录让你能快速定位到所需内容避免一页一页地翻全表扫描。1. 索引选择策略B树与哈希索引MySQL InnoDB引擎默认使用B树索引。它适合范围查询BETWEENLIKE ‘prefix%’和排序操作。Memory引擎支持哈希索引适合等值查询IN速度极快但不支持排序和范围查询。绝大多数场景下使用默认的B树索引即可。2. 如何创建合适的索引前缀索引对于很长的字符串列如VARCHAR(255)可以只对前N个字符创建索引节省空间。但会降低选择性区分度需权衡。ALTER TABLE users ADD INDEX idx_name (name(10));复合索引最左前缀原则这是重中之重。索引(a, b, c)相当于同时创建了(a)、(a, b)、(a, b, c)三个索引。查询条件必须从最左列开始才能利用该索引。例如索引(last_name, first_name)对WHERE last_name’Smith’和WHERE last_name’Smith’ AND first_name’John’有效但对WHERE first_name’John’无效。覆盖索引如果索引包含了查询所需的所有字段则引擎可以直接从索引中获取数据无需回表查询数据行效率极高。例如有索引(user_id, score)查询SELECT user_id, score FROM exam WHERE user_id 100就使用了覆盖索引。3. 索引的代价与避坑指南索引不是免费的。它会降低写操作INSERT, UPDATE, DELETE的速度因为数据变更时需要同步更新索引树。还会占用额外的磁盘空间。禁忌1在区分度低的列上建索引。例如“性别”列只有‘M’/‘F’两种值建索引收益极低。禁忌2盲目创建过多索引。每个额外的索引都是维护成本。通常建议单表索引数不超过5个。禁忌3使用函数或表达式操作索引列。WHERE YEAR(create_time) 2023无法使用create_time上的索引。应改为WHERE create_time ‘2023-01-01’ AND create_time ‘2024-01-01’。3.2 方法二编写高性能的SQL语句再好的索引也救不了糟糕的SQL。优秀的SQL是优化的一半。1. 避免使用SELECT *这是老生常谈但至关重要。SELECT *会读取所有列包括你不需要的TEXT/BLOB大字段增加网络传输和内存开销。务必明确指定需要的列。2. 优化关联查询 (JOIN)确保关联字段有索引ON子句和WHERE子句中的关联字段必须建立索引。小表驱动大表在INNER JOIN中MySQL优化器通常会自动选择小表作为驱动表。但对于LEFT JOIN通常左边的表是驱动表。有意识地将数据量小的表放在前面。避免多表关联时产生笛卡尔积确保每个JOIN都有有效的关联条件。3. 慎用OR与INOR条件可能导致索引失效。WHERE a1 OR b2如果a和b列上各有单列索引MySQL可能使用index_merge索引合并但效率通常不如复合索引。更好的写法是使用UNION ALLSELECT ... WHERE a1 UNION ALL SELECT ... WHERE b2 AND a!1注意去重。IN子查询要小心。对于WHERE id IN (SELECT user_id FROM ...)MySQL可能会将其优化为EXISTS半连接也可能先执行子查询生成临时表。务必用EXPLAIN查看执行计划。对于确定的、值不多的IN列表如IN (1,2,3)可以使用。4. 优化LIKE查询LIKE ‘%keyword%’这种前导通配符的写法会导致索引失效因为无法利用索引的有序性。如果业务允许尽量使用LIKE ‘keyword%’。如果必须进行全文搜索应考虑使用MySQL的FULLTEXT索引或专业的搜索引擎如Elasticsearch。3.3 方法三设计合理的表结构良好的表结构是高性能的基石。1. 选择合适的数据类型更小通常更好能用SMALLINT就不用INT能用DATE就不用DATETIME。更小的数据类型占用更少的磁盘、内存和CPU缓存。简单就好整型比字符型操作代价更低。用MySQL内建的时间类型DATE,TIME,DATETIME而不是字符串来存储时间。避免NULL尽量将列定义为NOT NULL。NULL值使得索引、值比较和计算都更复杂。如果确实需要表示“空”可以考虑使用一个特殊值如0 ‘’或单独用一个布尔字段标识。2. 规范化与反规范化的权衡规范化减少数据冗余的好处是更新操作快且一致性好但可能导致查询时需要频繁JOIN。反规范化适当冗余的好处是优化了读性能避免了复杂连接但增加了数据不一致的风险和更新成本。我的经验在OLTP联机事务处理场景优先保证规范化以维持数据完整性。在OLAP联机分析处理或读多写少的场景可以为了查询性能进行有目的的反规范化例如将用户姓名冗余到订单表中避免每次查订单都要连用户表。同时可以通过应用层逻辑或触发器来维护冗余数据的一致性。3. 主键设计InnoDB表是索引组织表数据存储本身就是一个B树这个树的主键就是聚簇索引。因此一定要定义主键如果没有显式定义InnoDB会找一个唯一的非空索引代替如果还没有则会创建一个隐藏的ROWID这对性能无益。主键应简短、有序、不可变AUTO_INCREMENT的BIGINT是最佳选择。无序的主键如UUID会导致频繁的页分裂和插入性能下降。如果必须用UUID考虑用有序UUID变种或者将其存储在二级索引上主键仍用自增ID。3.4 方法四利用查询缓存历史方法与缓冲池注意MySQL 8.0 已完全移除了查询缓存(Query Cache)功能因为它在高并发、写频繁的场景下缓存失效Invalidation的开销往往大于收益且容易成为全局锁争用的热点。如果你使用的是5.7或更早版本可以了解但不建议投入过多精力优化它。对于8.0的用户请跳过查询缓存部分。InnoDB缓冲池 (Buffer Pool) 才是关键这是InnoDB引擎的核心内存区域用于缓存表数据和索引数据。所有数据的读写都通过缓冲池进行。配置通过innodb_buffer_pool_size设置建议设置为可用物理内存的50%-70%。这是MySQL性能最重要的一个参数没有之一。监控通过SHOW ENGINE INNODB STATUS\G查看BUFFER POOL AND MEMORY部分关注Buffer pool hit rate缓冲池命中率理想情况下应接近100%。如果命中率低说明缓冲池太小或者你的查询正在扫描大量非热点数据。3.5 方法五优化数据库配置参数除了缓冲池还有其他几个关键配置max_connections最大连接数。设置过高会消耗过多内存设置过低会导致连接失败。需要根据应用并发量和SHOW STATUS LIKE ‘Threads_connected’;的当前值来调整。innodb_log_file_size重做日志文件大小。更大的日志文件可以减少磁盘I/O提高写性能但也会增加崩溃恢复的时间。通常设置为1G-4G是一个合理的范围。tmp_table_size/max_heap_table_size内存临时表的大小。如果复杂的GROUP BY或排序操作在内存中无法完成就会在磁盘上创建临时表速度慢。适当调大这些参数如64M-256M可以避免磁盘临时表。innodb_flush_log_at_trx_commit事务提交时日志刷盘策略。默认值为1表示每次事务提交都刷盘最安全但性能最差。对于可以容忍丢失最近1秒数据如日志系统的场景可以设置为2每秒刷盘或0每秒刷盘且不同步到磁盘能大幅提升写性能。修改此参数需极其谨慎需充分评估数据安全性要求。3.6 方法六实施读写分离当单台数据库服务器无法承受所有压力时读写分离是首要的扩展方案。原理主库Master负责处理写操作INSERT, UPDATE, DELETE和少量实时性要求高的读操作。一个或多个从库Slave通过复制主库的二进制日志binlog来同步数据负责处理大量的读操作SELECT。实现在应用层进行路由根据SQL类型将请求分发到不同的数据源。可以使用中间件如MyCat, ShardingSphere-Proxy或框架自带功能如Spring的AbstractRoutingDataSource。挑战主从同步有延迟复制延迟这意味着在从库上可能读不到刚在主库写入的数据。对于“写后立即读”的场景需要采用“写主读主”的策略或将这类请求强制路由到主库。3.7 方法七进行分库分表当单表数据量过大如超过千万行导致索引树层级过深、查询变慢或单库连接数、IOPS达到瓶颈时就需要考虑分库分表。垂直分表将一个宽表列很多按业务模块拆分成多个小表。例如将用户基本信息和用户扩展信息分开。这减少了单行数据的大小让每次I/O能加载更多行到内存。水平分表分片将一个大表的数据按某种规则如用户ID取模、按时间范围分布到多个结构相同的表中。这是应对海量数据的主要手段。分库将不同的表或同一个表的不同分片部署到不同的数据库实例上彻底分散压力和资源。难点与工具分库分表引入了分布式事务、全局唯一ID、跨分片查询等复杂问题。通常借助成熟的中间件如Apache ShardingSphere, Vitess来简化开发。3.8 方法八优化事务与锁的使用事务和锁保证了数据的一致性但使用不当会成为性能杀手。保持事务短小精悍尽快提交事务释放锁资源。避免在事务中进行远程调用、文件操作等耗时行为。选择合适的隔离级别默认的REPEATABLE READ可重复读隔离级别通过MVCC避免了大部分锁但可能产生间隙锁Gap Lock影响并发。对于读多写少、允许不可重复读的场景可以考虑READ COMMITTED读已提交它能减少间隙锁提升并发度。避免行锁升级为表锁如果查询条件没有使用索引InnoDB会对全表加锁实际上是锁住所有行这等同于表锁并发性能急剧下降。再次强调索引的重要性注意死锁死锁在高并发场景下难以完全避免。InnoDB可以自动检测并回滚代价最小的事务。应用层应准备好重试机制。通过SHOW ENGINE INNODB STATUS\G可以查看最近的死锁信息帮助分析和优化业务逻辑。3.9 方法九定期维护与监控数据库不是“一劳永逸”的系统需要持续的维护。定期分析表使用ANALYZE TABLE table_name;更新表的索引统计信息。优化器依赖这些统计信息来选择执行计划。当数据发生大量变化后统计信息可能过时导致优化器选择错误的索引。优化表对于包含可变长度列VARCHAR,TEXT,BLOB的表在进行了大量更新或删除操作后会产生碎片。使用OPTIMIZE TABLE table_name;或ALTER TABLE table_name ENGINEInnoDB;可以重建表整理碎片回收空间。注意此操作会锁表请在业务低峰期进行。监控与告警建立完善的监控体系持续跟踪关键指标QPS/TPS、连接数、慢查询数量、缓冲池命中率、复制延迟等。设置合理的告警阈值在问题影响用户之前发现它。4. 实战一条慢查询的完整优化案例假设我们有一个订单表orders结构简化如下CREATE TABLE orders ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, product_id INT NOT NULL, amount DECIMAL(10,2) NOT NULL, status TINYINT NOT NULL COMMENT 0:待支付1:已支付2:已发货3:已完成, create_time DATETIME NOT NULL, update_time DATETIME NOT NULL );业务上有一个高频查询“查找某个用户最近3个月内已完成的订单按创建时间倒序排列并分页显示”。最初的SQL是这样写的SELECT * FROM orders WHERE user_id 123456 AND status 3 AND create_time DATE_SUB(NOW(), INTERVAL 3 MONTH) ORDER BY create_time DESC LIMIT 0, 20;随着数据量增长假设表有上亿条记录这个查询越来越慢耗时超过2秒。第一步使用 EXPLAIN 诊断EXPLAIN SELECT * FROM orders WHERE user_id 123456 AND status 3 AND create_time DATE_SUB(NOW(), INTERVAL 3 MONTH) ORDER BY create_time DESC LIMIT 0, 20;输出可能显示type:ALL全表扫描最糟糕的情况key:NULL没有使用索引rows: 一个非常大的数字第二步分析并设计索引查询条件涉及user_id,status,create_time三个字段排序字段是create_time。根据最左前缀原则和“等值查询字段在前范围查询字段在后”的经验我们创建一个复合索引ALTER TABLE orders ADD INDEX idx_user_status_time (user_id, status, create_time);这个索引为什么有效user_id 123456是等值查询放在第一列可以快速定位到该用户的所有订单。status 3也是等值查询放在第二列在user_id确定的基础上进一步过滤状态。create_time是范围查询和排序字段放在最后。索引本身是按create_time升序排列的在user_id和status相同的情况下而我们的查询要求DESC降序。MySQL 8.0的优化器可以很好地反向扫描索引5.7版本可能需要在索引定义中显式指定降序(user_id, status, create_time DESC)。第三步优化SQL语句将SELECT *改为具体需要的列例如SELECT id, user_id, product_id, amount, create_time。如果这些列都包含在索引idx_user_status_time中即索引包含了id, product_id, amount这里没有所以需要回表那么可以考虑创建覆盖索引但本例中amount等字段不在索引内回表不可避免但通过索引过滤后需要回表的行数已大大减少。第四步再次EXPLAIN验证创建索引后再次执行EXPLAINtype:range范围扫描良好key:idx_user_status_time使用了我们新建的索引rows: 可能只有几十或几百行只扫描了该用户最近3个月已完成订单的一小部分数据Extra:Using index condition可能使用了索引条件下推优化后该查询耗时从2秒以上降低到了10毫秒以内。5. 常见误区与进阶思考误区一索引越多越好这是最常见的错误。每个索引都需要占用空间并在每次INSERT、UPDATE、DELETE时维护影响写性能。维护不必要的索引是纯粹的开销。定期审查并删除使用率低或重复的索引。误区二所有查询都会变快索引只对特定的查询模式有效。如果查询条件无法使用索引的最左前缀或者使用了函数、类型转换索引就会失效。优化前务必用EXPLAIN确认。误区三分库分表是银弹分库分表带来了巨大的架构复杂度和运维成本。只有在单表数据量或单库实例能力真正达到瓶颈时通常以千万行、亿行为衡量尺度才应考虑。优先考虑读写分离、升级硬件、优化索引和SQL。进阶思考何时该跳出MySQLMySQL是优秀的OLTP数据库但并非万能。当遇到以下场景时可以考虑引入其他技术组件海量全文搜索使用Elasticsearch或OpenSearch。复杂分析报表OLAP使用列式存储数据库如ClickHouse或数据仓库。高速缓存使用Redis或Memcached缓存热点数据减轻数据库压力。时序数据使用InfluxDB或TDengine。图关系数据使用Neo4j。优化是一场永无止境的旅程它没有唯一的正确答案只有最适合当前业务场景的权衡。我最深的体会是与其在问题爆发后被动优化不如在编码和设计时就养成查看EXPLAIN、思考数据增长、避免反模式的好习惯。把性能作为功能的一部分来考虑你会发现大部分所谓的“性能问题”在萌芽阶段就已经被解决了。

相关新闻

Python异步爬虫与机器学习在房产数据分析中的应用

Python异步爬虫与机器学习在房产数据分析中的应用

1. 项目背景与核心价值 房产数据采集与分析一直是投资决策和市场研究的重要基础。传统的手工收集方式效率低下,而简单的爬虫又难以应对现代网站的反爬机制。这个项目通过异步Python爬虫技术实现高效数据采集,再结合机器学习算法进行价格趋势预测&#xf…

2026/10/15 17:41:43 阅读更多 →
Oracle 19C数据库从安装到卸载全流程实战指南

Oracle 19C数据库从安装到卸载全流程实战指南

1. 项目概述:从零到一构建Oracle数据库环境如果你正准备搭建一个企业级的数据库环境,或者需要在自己的开发机上部署一个稳定、功能强大的数据库用于学习和测试,Oracle 19C绝对是一个绕不开的选择。作为Oracle长期支持版本(Long Te…

2026/10/15 17:59:58 阅读更多 →
Oracle 19c在Linux上的完整安装、配置与PL/SQL Developer连接实战指南

Oracle 19c在Linux上的完整安装、配置与PL/SQL Developer连接实战指南

1. 项目概述与核心价值最近在帮几个朋友的公司做数据库架构梳理,发现一个挺有意思的现象:虽然现在各种开源和云数据库很火,但不少传统企业,尤其是金融、制造这些对数据一致性、稳定性要求极高的行业,核心系统里Oracle依…

2026/10/15 17:59:59 阅读更多 →

最新新闻

AlphaZero五子棋实战:从零实现自我对弈与MCTS决策系统

AlphaZero五子棋实战:从零实现自我对弈与MCTS决策系统

简介:本资源是基于AlphaZero算法原理实现的五子棋AI教学代码包,面向深度学习初学者与人工智能实践者,聚焦强化学习中自对弈训练、蒙特卡洛树搜索(MCTS)与策略价值网络联合建模等核心环节。压缩包共10个文件&#xff0c…

2026/10/16 21:21:41 阅读更多 →
AI论文工具实测:免费与合规的量化算账手册

AI论文工具实测:免费与合规的量化算账手册

1. 榜单满天飞,“免费”和“合规”到底怎么量化——我的算账手册2026年打开任何一个内容平台,输入“AI论文软件”或者“毕业论文免费写”,弹出的榜单一篇比一篇唬人,什么“2026年天花板”“学生党必备”“七天写完论文”。我作为这…

2026/10/16 21:21:41 阅读更多 →
Pasteboard × ArkTS:文搜图结果复制公开字段筛选与失败回退【鸿蒙心迹】

Pasteboard × ArkTS:文搜图结果复制公开字段筛选与失败回退【鸿蒙心迹】

图片搜索结果页里加一个“复制引用”按钮,乍看像是最没有难度的功能。但工程里最值得问的问题恰恰是:复制的到底是什么?是图片标题、云端链接、当前设备上的文件 URI,还是某个短期有效的内部资源标识?如果图方便把整条…

2026/10/16 21:21:41 阅读更多 →
ArkUI List × Scroller:平行视界筛选后阅读锚点稳定恢复【鸿蒙心迹】

ArkUI List × Scroller:平行视界筛选后阅读锚点稳定恢复【鸿蒙心迹】

把文档目录放进大屏的左栏,右栏显示正文,这种结构本身并不难。真正让人觉得别扭的,往往是一个很小的动作:读者正在看第十六份文档,随手切换到“待处理”筛选,再返回目录,列表却跳到了第一条。右…

2026/10/16 21:21:41 阅读更多 →
ArkUI Grid:折叠屏图库滑动多选稳定ID与布局切换【鸿蒙心迹】

ArkUI Grid:折叠屏图库滑动多选稳定ID与布局切换【鸿蒙心迹】

相册类应用做成两列网格并不难,真正容易出问题的是用户正在批量选图的时候把折叠屏展开。折叠前第三张照片在第二行,展开后同一张可能移到第一行;如果业务把“第几个格子被选中”作为记录,布局重排以后,勾选标记就会落…

2026/10/16 21:21:41 阅读更多 →
深度学习训练全流程排查:从数据预处理到模型评估的实践指南

深度学习训练全流程排查:从数据预处理到模型评估的实践指南

从上次整理完第一份深度学习笔记到现在,隔了挺长时间。这段时间里我自己试了不少网络结构,也帮身边几个在做项目的同学盯过他们的训练过程,发现一个特别常见的现象:论文里的模型看着都懂,跑开源代码也能出结果&#xf…

2026/10/16 21:20:40 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →