当前位置: 首页 > article >正文

为什么MySQL执行完Delete操作之后,空间没有释放?从原理到解决方案全解析

前言在使用MySQL的过程中很多开发者都遇到过这个困惑我明明执行了DELETE删除了大量数据为什么用df -h看磁盘空间或者用SHOW TABLE STATUS看表的数据大小一点都没变小难道MySQL的DELETE是“假删除”其实这不是bug而是InnoDB存储引擎的核心设计机制导致的。DELETE操作的本质不是“物理删除”而是“标记删除”这背后涉及InnoDB的MVCC、数据存储结构、空间复用机制等核心原理。本文将从底层原理出发深入剖析为什么DELETE后空间没释放什么时候空间会被复用以及如何真正释放磁盘空间帮你彻底搞懂这个MySQL高频困惑。文章目录前言一、现象复现Delete后空间真的没释放吗实验步骤二、核心原因InnoDB的“标记删除”机制2.1 InnoDB的数据存储结构页Page2.2 DELETE的本质标记为“已删除”而非物理移除2.3 为什么InnoDB要这么设计三、空间复用标记删除的空间不是浪费而是留着复用3.1 Data_free字段可复用的空间大小3.2 空间复用的过程3.3 实验验证空间复用四、对比MyISAM的Delete为什么能立即释放空间五、如何真正释放磁盘空间3种核心方法方法1OPTIMIZE TABLE最常用推荐适用场景操作步骤执行后的效果优缺点避坑指南方法2ALTER TABLE 重建表和OPTIMIZE TABLE等价操作步骤适用场景为什么有两种方法方法3TRUNCATE TABLE仅适用于清空全表操作步骤执行后的效果和DELETE的区别适用场景避坑指南六、最佳实践避免空间浪费合理管理表空间1. 不要频繁执行DELETE大表数据2. 定期归档历史数据3. 定期用OPTIMIZE TABLE整理碎片但不要太频繁4. 用分区表替代DELETE按时间删除5. 监控表的Data_free和碎片率七、总结一、现象复现Delete后空间真的没释放吗我们先通过一个简单的实验复现这个现象直观感受一下实验步骤创建一张测试表插入100万行数据CREATETABLEtest_delete(idbigintNOTNULLAUTO_INCREMENTPRIMARYKEY,contentvarchar(255)NOTNULL,create_timedatetimeNOTNULLDEFAULTCURRENT_TIMESTAMP)ENGINEInnoDBDEFAULTCHARSETutf8mb4;-- 插入100万行测试数据用存储过程或脚本插入-- 这里假设我们已经插入了100万行数据查看表的初始大小SHOWTABLESTATUSLIKEtest_delete\G结果示例*************************** 1. row *************************** Name: test_delete Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 1000000 Avg_row_length: 100 Data_length: 100000000 -- 数据大小约95MB Max_data_length: 0 Index_length: 0 Data_free: 0 Auto_increment: 1000001 Create_time: 2026-03-25 10:00:00 Update_time: 2026-03-25 10:05:00 Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment:可以看到Data_length是100000000约95MB。执行DELETE删除所有数据DELETEFROMtest_delete;再次查看表的大小SHOWTABLESTATUSLIKEtest_delete\G结果示例*************************** 1. row *************************** Name: test_delete Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 0 Avg_row_length: 0 Data_length: 100000000 -- 数据大小还是约95MB没变化 Max_data_length: 0 Index_length: 0 Data_free: 99000000 -- 注意这个字段变大了 Auto_increment: 1000001 Create_time: 2026-03-25 10:00:00 Update_time: 2026-03-25 10:10:00 Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment:关键发现Rows变成了0说明数据确实被“删除”了但Data_length还是100000000磁盘空间没有释放给操作系统Data_free变成了99000000这个字段后面会详细讲。二、核心原因InnoDB的“标记删除”机制为什么DELETE后空间没释放这是由InnoDB存储引擎的核心设计决定的InnoDB的DELETE不是物理删除而是标记删除Soft Delete。2.1 InnoDB的数据存储结构页PageInnoDB的数据存储在页Page中默认每个页的大小是16KB。页是InnoDB磁盘管理的最小单位所有的表数据、索引数据都存储在页中。当你插入数据时InnoDB会把数据写入页中当页满了会分配新的页。2.2 DELETE的本质标记为“已删除”而非物理移除当你执行DELETE操作时InnoDB并没有真正把数据从页中移除而是做了两件事标记行的删除位在每行数据的头部有一个“删除标记位”DELETE操作只是把这个标记位设置为“1”表示这行数据“已删除”记录到Undo Log为了支持MVCC多版本并发控制和事务回滚DELETE操作会把旧数据记录到Undo Log中保证其他事务能读到旧版本的数据。核心结论DELETE后数据还在磁盘的页中只是被“标记为已删除”所以Data_length不会变小磁盘空间不会释放给操作系统。2.3 为什么InnoDB要这么设计很多人会问为什么不直接物理删除这是为了性能和并发考虑支持MVCCInnoDB的MVCC机制需要通过Undo Log和删除标记位实现“读写不冲突”如果直接物理删除其他事务就无法读到旧版本的数据了减少随机IO物理删除需要修改页中的数据结构移除行后还要移动其他行填补空缺会产生大量随机IO性能极差而标记删除只需要修改一个bit位性能极高空间复用标记删除的空间可以被后续的INSERT操作复用不需要频繁分配新页提升性能。三、空间复用标记删除的空间不是浪费而是留着复用虽然DELETE后空间没有释放给操作系统但这些空间不是浪费InnoDB会把它们留着后续插入新数据时可以直接复用。3.1 Data_free字段可复用的空间大小在SHOW TABLE STATUS的结果中有一个Data_free字段它表示的就是表中可以被复用的空闲空间大小包括标记删除的行、页中的碎片、未使用的页。在刚才的实验中DELETE后Data_free变成了99000000说明有95MB的空间可以被复用。3.2 空间复用的过程当你执行INSERT操作插入新数据时InnoDB会优先使用Data_free中的空闲空间先在标记删除的行中找合适的位置直接覆盖写入如果没有合适的标记删除行再使用页中的碎片空间如果都没有才分配新的页。3.3 实验验证空间复用我们继续刚才的实验验证空间复用再次插入100万行数据-- 再次插入100万行数据查看表的大小SHOWTABLESTATUSLIKEtest_delete\G结果示例*************************** 1. row *************************** Name: test_delete Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 1000000 Avg_row_length: 100 Data_length: 100000000 -- 数据大小还是约95MB没有变大 Max_data_length: 0 Index_length: 0 Data_free: 0 -- 可复用空间用完了 Auto_increment: 2000001 Create_time: 2026-03-25 10:00:00 Update_time: 2026-03-25 10:15:00 Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment:关键发现再次插入100万行数据后Data_length还是100000000没有变大Data_free变成了0说明之前标记删除的空间被完全复用了这就是InnoDB的空间复用机制虽然DELETE后空间没释放但不是浪费而是留着给新数据用。四、对比MyISAM的Delete为什么能立即释放空间很多用过MyISAM的开发者会说“MyISAM的Delete后空间立即释放了为什么InnoDB不行”这是因为MyISAM和InnoDB的存储机制完全不同对比维度InnoDBMyISAMDELETE操作标记删除不物理移除物理删除直接从文件中移除空间释放不释放给操作系统留着复用立即释放给操作系统MVCC支持支持需要Undo Log和删除标记位不支持事务支持支持不支持性能标记删除性能高空间复用提升性能物理删除性能差随机IO多核心结论MyISAM的Delete虽然能立即释放空间但它不支持事务、不支持MVCC、并发性能差现在已经很少使用了InnoDB的标记删除虽然不立即释放空间但换来了事务、MVCC、高并发等核心优势是值得的。五、如何真正释放磁盘空间3种核心方法虽然InnoDB的标记删除空间可以复用但在某些场景下我们确实需要把空间释放给操作系统表中删除了大量数据且后续不会再插入这么多数据空间一直被占用浪费表的数据碎片太多导致查询性能下降磁盘空间不足需要释放空间给其他表用。这时候我们可以用以下3种方法真正释放磁盘空间方法1OPTIMIZE TABLE最常用推荐OPTIMIZE TABLE是MySQL官方提供的整理表碎片、释放空闲空间的命令它的本质是重建表创建一个新的临时表结构和原表完全相同把原表中“未标记删除”的数据逐行复制到新表中丢弃原表把新表重命名为原表的名字重建索引。适用场景删除了大量数据需要释放空间表的数据碎片太多查询性能下降表的Data_free很大且后续不会再插入大量数据。操作步骤-- 执行OPTIMIZE TABLE整理表OPTIMIZETABLEtest_delete;执行后的效果SHOWTABLESTATUSLIKEtest_delete\G结果示例*************************** 1. row *************************** Name: test_delete Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 0 Avg_row_length: 0 Data_length: 16384 -- 数据大小变成了16KB一个页的大小 Max_data_length: 0 Index_length: 0 Data_free: 0 Auto_increment: 2000001 Create_time: 2026-03-25 10:20:00 Update_time: 2026-03-25 10:20:00 Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment:可以看到Data_length变成了1638416KB一个空表的大小空间真正释放给了操作系统优缺点优点缺点官方推荐操作简单会锁表MySQL 5.7会锁表MySQL 8.0的Online DDL可以减少锁表时间但仍有元数据锁等待同时整理碎片提升查询性能大表执行时间长可能需要数小时重建索引索引效率更高执行期间会产生大量IO可能影响业务避坑指南必须在业务低峰期执行比如凌晨2-4点避免锁表影响业务执行前先备份虽然OPTIMIZE TABLE很安全但备份是好习惯MySQL 8.0优先用Online DDLMySQL 8.0的OPTIMIZE TABLE支持Online DDL锁表时间更短不要频繁执行比如每月执行一次即可频繁执行会影响性能。方法2ALTER TABLE 重建表和OPTIMIZE TABLE等价ALTER TABLE test_delete ENGINEInnoDB的效果和OPTIMIZE TABLE完全等价也是重建表释放空间。操作步骤-- 用ALTER TABLE重建表ALTERTABLEtest_deleteENGINEInnoDB;适用场景和OPTIMIZE TABLE完全相同两者选一个即可。为什么有两种方法历史原因早期MySQL版本中OPTIMIZE TABLE对InnoDB的支持不如ALTER TABLE好但现在两者已经完全等价了。方法3TRUNCATE TABLE仅适用于清空全表如果你是要清空整个表TRUNCATE TABLE是最快的方法它的本质是直接删除原表然后创建一个新的空表。操作步骤-- 用TRUNCATE清空表TRUNCATETABLEtest_delete;执行后的效果和OPTIMIZE TABLE一样Data_length变成16KB空间立即释放。和DELETE的区别对比维度DELETE FROM test_deleteTRUNCATE TABLE test_delete操作类型DML数据操作语言DDL数据定义语言执行逻辑逐行标记删除直接删除表重建空表执行速度慢大表可能数小时极快秒级完成空间释放不释放留着复用立即释放给操作系统事务支持可以回滚立即提交无法回滚触发器会触发DELETE触发器不会触发触发器AUTO_INCREMENT保持不变重置为1适用场景需要清空整个表且不需要保留数据不需要回滚不需要触发触发器大表清空追求速度。避坑指南TRUNCATE是DDL无法回滚执行前必须确认数据不需要了TRUNCATE会重置AUTO_INCREMENT如果需要保持AUTO_INCREMENT不变不要用TRUNCATETRUNCATE需要DROP权限比DELETE的权限要求高。六、最佳实践避免空间浪费合理管理表空间了解了原理和解决方案后我们总结出5个最佳实践帮助你合理管理MySQL的表空间1. 不要频繁执行DELETE大表数据频繁删除大表数据会产生大量碎片虽然可以复用但碎片太多会影响查询性能。替代方案逻辑删除用is_deleted字段标记删除而不是物理删除数据归档把历史数据归档到历史库或对象存储OSS/S3而不是直接DELETE分区表如果是按时间删除数据用分区表直接删除分区比DELETE快得多且空间立即释放。2. 定期归档历史数据对于日志表、订单表等有时间属性的表定期归档3年前的历史数据归档到历史库INSERT INTO history_db.test_delete SELECT * FROM test_delete WHERE create_time 2023-01-01; DELETE FROM test_delete WHERE create_time 2023-01-01;归档到对象存储把历史数据导出为CSV/Parquet文件存储到OSS/S3然后DELETE。3. 定期用OPTIMIZE TABLE整理碎片但不要太频繁频率每月一次或每季度一次根据数据变化情况调整时机业务低峰期凌晨2-4点前提表的Data_free很大比如超过表大小的30%且后续不会再插入大量数据。4. 用分区表替代DELETE按时间删除如果你的表是按时间删除数据比如删除3年前的日志分区表是最佳选择-- 创建按月份分区的表CREATETABLEtest_log(idbigintNOTNULLAUTO_INCREMENT,contentvarchar(255)NOTNULL,create_timedatetimeNOTNULL,PRIMARYKEY(id,create_time)-- 分区键必须在主键中)ENGINEInnoDBDEFAULTCHARSETutf8mb4PARTITIONBYRANGE(TO_DAYS(create_time))(PARTITIONp202601VALUESLESS THAN(TO_DAYS(2026-02-01)),PARTITIONp202602VALUESLESS THAN(TO_DAYS(2026-03-01)),PARTITIONp202603VALUESLESS THAN(TO_DAYS(2026-04-01)));-- 删除2026年1月的分区空间立即释放ALTERTABLEtest_logDROPPARTITIONp202601;分区表删除分区的速度极快秒级完成空间立即释放给操作系统不会产生碎片查询性能更好。5. 监控表的Data_free和碎片率定期监控表的Data_free和碎片率及时整理-- 查看所有表的Data_free和碎片率SELECTtable_name,data_length,index_length,data_free,ROUND(data_free/(data_lengthindex_length)*100,2)ASfrag_ratio-- 碎片率FROMinformation_schema.tablesWHEREtable_schematest_db-- 你的库名ORDERBYfrag_ratioDESC;如果碎片率超过30%且后续不会再插入大量数据考虑执行OPTIMIZE TABLE。七、总结回到最初的问题为什么MySQL执行完Delete操作之后空间没有释放核心答案InnoDB的DELETE不是物理删除而是标记删除只是把行的删除标记位设置为“1”数据还在磁盘的页中这是为了支持MVCC、事务回滚、减少随机IO、空间复用标记删除的空间会被后续的INSERT操作复用不是浪费如果确实需要释放空间给操作系统可以用OPTIMIZE TABLE、ALTER TABLE重建表或TRUNCATE TABLE清空表。最后记住InnoDB的标记删除是“以空间换性能和并发”是值得的不要因为空间没释放就恐慌先看Data_free确认空间可以复用优先用逻辑删除、数据归档、分区表替代频繁的DELETE大表操作定期整理碎片但不要太频繁在业务低峰期执行。希望这篇文章能帮你彻底搞懂MySQL的Delete和空间释放机制合理管理表空间

相关文章:

为什么MySQL执行完Delete操作之后,空间没有释放?从原理到解决方案全解析

前言 在使用MySQL的过程中,很多开发者都遇到过这个困惑:我明明执行了DELETE删除了大量数据,为什么用df -h看磁盘空间,或者用SHOW TABLE STATUS看表的数据大小,一点都没变小?难道MySQL的DELETE是“假删除”…...

指纹识别研究数据集高效方案:如何节省80%数据准备时间

指纹识别研究数据集高效方案:如何节省80%数据准备时间 【免费下载链接】fingerprint-datasets Curated collection of human fingerprint datasets suitable for research and evaluation of fingerprint recognition algorithms. 项目地址: https://gitcode.com/…...

Qwen3.5-4B-Claude-Opus效果展示:算法题解生成+时间复杂度同步说明

Qwen3.5-4B-Claude-Opus效果展示:算法题解生成时间复杂度同步说明 1. 模型能力概览 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个专为推理任务优化的轻量级模型,特别擅长处理需要结构化分析和分步骤解答的问题。这个4B参数的模型经过蒸…...

【进阶算法】DFS(7~10)

前言 相信很多人学完基础算法(双指针。滑动窗口,前缀和,递归等等)学习搜索与图论 于是我决定出一个教程,大纲是这样的,主要有回溯,DFS,BFS,图,最短路径这几块难理解,望多支持,点赞。 Day1:回溯总…...

零门槛掌握RPG-JS实战指南:用TypeScript开发浏览器RPG游戏

零门槛掌握RPG-JS实战指南:用TypeScript开发浏览器RPG游戏 【免费下载链接】RPG-JS Framework to create an RPG or MMORPG (with the same code) in the browser with Typescript 项目地址: https://gitcode.com/gh_mirrors/rp/RPG-JS RPG-JS是一个基于Type…...

小白也能用的Qwen3.5-9B:开箱即用,解锁AI图文视频新玩法

小白也能用的Qwen3.5-9B:开箱即用,解锁AI图文视频新玩法 1. 为什么选择Qwen3.5-9B? Qwen3.5-9B是一款强大的多模态AI模型,专为处理文本、图像和视频内容而设计。相比传统AI模型,它有三个突出优势: 多模态…...

Windows 环境下快速部署 MinIO 服务:从基础配置到安全访问

1. Windows 下部署 MinIO 的完整指南 MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。它轻量、易部署,特别适合在本地开发环境中使用。对于 Windows 用户来说,MinIO 提供了一个简单的.exe文件,可以快速启动服务。下面我会…...

CST仿真下的石墨烯电磁诱导透明研究:从建模到实现的分析报告

CST仿真eit电磁诱导透明(包括石墨烯的建模) EIT石墨烯电磁诱导透明案例搞EIT仿真的都知道,传统金属结构虽然经典,但石墨烯的可调性才是现在的香饽饽——靠栅压就能调费米能级,相当于给器件装了个电控遥控器,在传感器、慢光器件里简…...

零基础5分钟上手YOLOv13:官版镜像开箱即用,快速检测第一张图片

零基础5分钟上手YOLOv13:官版镜像开箱即用,快速检测第一张图片 1. 为什么选择YOLOv13官版镜像? 1.1 传统部署的痛点 在计算机视觉领域,目标检测一直是个热门方向。但很多初学者往往在第一步——环境配置上就卡住了。传统部署YO…...

面试50场才懂:20道高频题决定成败;面试是双向选择,不是你求着公司给你工作,你要做的是展示自己的价值,和公司互相匹配,不用卑微,大方就好

面了50场终于悟了:99%的面试,翻来覆去就考这20道题! 目录 面了50场终于悟了:99%的面试,翻来覆去就考这20道题! 一、开场破冰&自我认知类(第一印象定基调) 1. 请做一下自我介绍 6. 说说你的优点? 15. 你领导同事对你的评价如何? 19. 说说你的缺点? 二、求职动机…...

AI辅助开发实战:如何用Decagon智能客服提升开发效率与用户体验

在开发智能客服系统的过程中,我和团队曾遇到过不少头疼的问题。最典型的就是,随着业务增长,对话场景越来越复杂,维护一个庞大的“如果-那么”规则库简直是一场噩梦。响应速度也常常因为逻辑判断层级过深而变慢,用户体验…...

2026年最火AI Agent实战:用Python+LangGraph构建“超级研究员”

在2026年,单纯调用大模型API已成过去式。真正的趋势是多智能体协作(Multi-Agent)。本文将带你使用目前生产环境最稳定、最强大的框架 LangGraph,从零构建一个能自主搜索、分析并撰写深度报告的“超级研究员”Agent系统。文末附完整…...

掌握CC Switch模型测试功能:确保AI服务稳定性的完整指南

掌握CC Switch模型测试功能:确保AI服务稳定性的完整指南 【免费下载链接】cc-switch A cross-platform desktop All-in-One assistant tool for Claude Code, Codex & Gemini CLI. 项目地址: https://gitcode.com/GitHub_Trending/cc/cc-switch 你是否曾…...

ZigZag编码实战:如何用C语言实现高效数据压缩(附完整代码)

ZigZag编码实战:如何用C语言实现高效数据压缩(附完整代码) 在数据存储和网络传输领域,压缩算法扮演着至关重要的角色。今天我们要探讨的ZigZag编码,是一种简单却极其高效的有符号整数压缩方案。不同于传统的压缩算法需…...

技术面试辅助新范式:AI驱动的面试智能助手全面解析

技术面试辅助新范式:AI驱动的面试智能助手全面解析 【免费下载链接】interview-coder-withoupaywall-opensource interview-coder-withoupaywall-opensource 项目地址: https://gitcode.com/gh_mirrors/in/interview-coder-withoupaywall-opensource 在当今竞…...

gconv reflect.Value.Convert: value of type float64 cannot be converted to type decimal.Decimal

这是 GoFrame 框架的 gconv 模块 的问题,不是 mapstruct。错误信息 reflect.Value.Convert: value of type float64 cannot be converted to type decimal.Decimal 表明 gconv 无法自动将 float64 转换为 decimal.Decimal 类型。让我搜索相关解决方案:搜…...

Python爬虫+SDPose-Wholebody:网络图片姿态分析

Python爬虫SDPose-Wholebody:网络图片姿态分析 1. 引言 你有没有遇到过这样的情况:需要分析大量网络图片中的人物姿态,但手动标注不仅耗时耗力,还容易出错?无论是健身应用中的动作矫正,还是舞蹈教学中的姿…...

如何实现一套.net系统集成多个飞书应用

第一次接触飞书多应用开发的那个下午,会议室的白板上画满了混乱的线条。左边是HR系统,右边是项目管理,中间夹着财务审批,每个系统都要求独立的飞书应用。技术团队讨论着"OAuth2.0"、"Webhook签名验证"和"…...

SpringBoot3 + SpringDoc + Knife4j:打造一个带中文界面和API分组的超实用接口文档(保姆级YAML配置)

SpringBoot3 SpringDoc Knife4j:企业级API文档中心实战指南 在微服务架构盛行的今天,一套清晰、易用的API文档系统已成为团队协作的刚需。本文将带您从零构建一个支持中文界面、智能分组、在线调试的企业级文档中心,基于SpringBoot3最新技术…...

告别混乱代码:用Pyreverse和Pycallgraph轻松分析Python项目结构(避坑指南)

深度解析Python项目结构:Pyreverse与Pycallgraph实战手册 接手一个庞大的Python项目时,面对错综复杂的代码结构往往让人望而生畏。那些层层嵌套的类继承关系、跨模块的函数调用链,以及隐藏在深处的依赖循环,都可能成为项目维护的…...

FireRedASR-AED-L模型助力Java面试培训:模拟面试语音分析与评价

FireRedASR-AED-L模型助力Java面试培训:模拟面试语音分析与评价 最近和几个做技术培训的朋友聊天,大家普遍有个头疼的问题:Java面试培训,尤其是模拟面试环节,太耗费人力了。一个讲师要听几十上百个学员的录音&#xf…...

基于cosyvoice 2.0的百度网盘文件传输效率优化实战

最近在做一个需要频繁和百度网盘打交道的数据同步项目,最头疼的就是大文件上传下载的速度问题。传统的单线程传输,遇到几百兆甚至几个G的文件,那等待时间简直让人抓狂。经过一番调研和折腾,我们最终基于 cosyvoice 2.0 协议实现了…...

终极指南:使用SMUDebugTool优化AMD Ryzen系统性能与稳定性

终极指南:使用SMUDebugTool优化AMD Ryzen系统性能与稳定性 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

开源工具图像转换:用数字画生成器打造DIY创作

开源工具图像转换:用数字画生成器打造DIY创作 【免费下载链接】paintbynumbersgenerator Paint by numbers generator 项目地址: https://gitcode.com/gh_mirrors/pa/paintbynumbersgenerator 数字艺术创作正成为越来越多人的兴趣,而开源工具&quo…...

Pixel Dimension Fissioner 数据库集成:MySQL存储用户生成内容与模型参数

Pixel Dimension Fissioner 数据库集成:MySQL存储用户生成内容与模型参数 1. 场景需求与技术选型 在构建基于Pixel Dimension Fissioner的UGC平台时,我们需要处理三类核心数据:用户信息、生成任务记录和模型参数配置。MySQL因其成熟稳定、社…...

5步构建企业级视频分享平台后端框架搭建指南

5步构建企业级视频分享平台后端框架搭建指南 【免费下载链接】teriteri-backend 一个基于 springboot mybatis-plus 搭建的视频网站平台后端 项目地址: https://gitcode.com/gh_mirrors/te/teriteri-backend Teriteri后端框架是基于SpringBoot视频后端技术栈构建的开源…...

创作平权:Motion LoRA如何让独立创作者实现电影级运镜自由

创作平权:Motion LoRA如何让独立创作者实现电影级运镜自由 【免费下载链接】Motion-Lora-Camera-Push-In-Wan-14B-720p-I2V 项目地址: https://ai.gitcode.com/hf_mirrors/lovis93/Motion-Lora-Camera-Push-In-Wan-14B-720p-I2V 在数字内容创作领域&#xf…...

如何高效获取Instagram公开信息:Toutatis工具完整指南

如何高效获取Instagram公开信息:Toutatis工具完整指南 【免费下载链接】toutatis Toutatis is a tool that allows you to extract information from instagrams accounts such as e-mails, phone numbers and more 项目地址: https://gitcode.com/GitHub_Trendin…...

如何用Mermaid图表工具提升你的文档可视化效果

如何用Mermaid图表工具提升你的文档可视化效果 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的开发者。 项…...

Windows下用VS2010编译nginx-http-flv-module踩坑实录(附完整环境配置清单)

Windows平台编译nginx-http-flv-module全流程指南与疑难解析 在流媒体服务开发领域,nginx-http-flv-module因其高效的HTTP-FLV协议支持而备受青睐。然而,Windows平台下的编译过程却常常让开发者陷入各种环境配置的泥潭。本文将基于实际项目经验&#xff…...