前言本文汇总日常开发高频 MySQL 优化手段分为索引优化、SQL 语句改写、表结构设计、分页 / 分组 / 关联通用优化全部可直接落地使用。一、索引优化技巧高频查询字段建索引WHERE、ORDER BY、JOIN、GROUP BY 字段优先创建索引多字段联合查询使用复合索引遵循最左前缀等值字段放左侧范围放最后避免索引失效字段不使用函数、不做隐式类型转换、不以 % 开头模糊查询唯一业务字段手机号、账号使用 UNIQUE 索引主键使用自增 BIGINT不创建冗余索引复合索引可覆盖单字段查询删除重复单字段索引字段尽量 NOT NULLNULL 过多会降低索引区分度分页排序字段必须加入索引杜绝 Using filesort。二、SQL 语句改写优化禁用SELECT *显式指定所需字段利用覆盖索引分页超大偏移量改写为主键过滤或子查询分页避免! NOT IN可改用 OR 等值匹配模糊查询尽量使用xxx%右匹配禁止%xxx左模糊相关子查询改写为 LEFT JOIN 关联查询减少循环执行批量插入使用多 VALUES 语法减少多次 IO统计 COUNT 优先COUNT(*)不要 COUNT (字段) 忽略 NULL复杂统计定时生成统计表避免实时 GROUP BY 聚合。三、表结构设计优化状态、性别、类型使用 TINYINT节省磁盘空间手机号使用 CHAR (11)统一字符集 utf8mb4排序规则 utf8mb4_unicode_ci大文本、超长备注单独拆分扩展表主表只存短字段核心业务表添加软删除is_deleted禁止直接 DELETE 硬删时间字段使用 DATETIME不使用 VARCHAR 存储时间字段尽量设置 NOT NULL 并赋予默认值减少索引失效概率。四、关联查询 JOIN 优化关联字段建立索引控制关联表数量不超过 3 张小表驱动大表LEFT JOIN 左表放数据量少的主表右表筛选条件写入 ON防止左连接丢失主表数据禁止无 ON 条件关联避免笛卡尔积。五、事务与并发优化事务尽量缩短执行时间避免长事务占用锁高并发业务隔离级别选用 RC减少间隙锁冲突更新、修改尽量根据主键 ID 定位缩小锁范围批量更新分批执行不一次性更新上万条数据。六、通用开发规范总结上线前使用 EXPLAIN 校验所有复杂 SQL杜绝 typeALL 全表扫描线上开启慢查询日志定期巡检耗时超过 1 秒的语句热点查询搭配 Redis 缓存分担 MySQL 读压力大表定期分表、归档历史数据控制单表行数百万以内禁止线上使用DROP、TRUNCATE、大批量 DELETE 无备份操作。
PHP开发者成长路线与高并发架构实战 1. PHP开发者的成长路线图作为一名从业15年的PHP全栈工程师,我见证了这门语言从简单的脚本工具成长为支撑全球80%网站的企业级解决方案。PHP开发者的职业发展绝非线性上升,而是需要在不同阶段掌握特定的技能组合。以下是经过实战验证的PHP开发者成长路径…
godot翻转整个精灵节点 extends CharacterBody2Dstatic var direction "left"func _process(delta: float) -> void:var direction_x : Input.get_axis("left", "right") #获取键盘输入if direction_x 1 and direction "left":flip()if direction_x -…
C#开源生态全景:工具、框架与最佳实践 1. C#开源生态全景概览作为.NET框架的核心语言,C#经过二十余年发展已形成完整的开源生态体系。根据2023年GitHub年度报告显示,C#在编程语言活跃度排名中稳居前五,其开源项目数量年均增长率达到27%。不同于早期主要依赖微软官方库的局面&#…
短视频矩阵系统搭建指南:源码部署与全流程解析 博主介绍: 所有项目都配有从入门到精通的安装教程,可二开,提供核心代码讲解,项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行ÿ…
MiPush Framework:非MIUI设备实现小米系统级推送 1. MiPush Framework核心功能解析MiPush Framework是一个能让非MIUI设备用户也能使用小米系统级推送服务的开源解决方案。它的核心价值在于实现了与MIUI系统相同的低功耗、高可靠推送机制,这种机制原本是小米设备的专属功能。1.1 系统级推送的技术优势传统Android应…
Sunshine+Moonlight实现安卓手机低延迟串流配置指南 1. 项目概述:手机串流的核心价值去年帮朋友调试远程办公方案时,意外发现SunshineMoonlight这套组合在局域网串流上的惊人表现。相比传统串流方案,它能在5GHz Wi-Fi环境下实现1080p60fps的近乎无损传输,延迟控制在15ms以内——这个…
短视频源码全解析:从开发到变现,一站式解决方案 博主介绍: 所有项目都配有从入门到精通的安装教程,可二开,提供核心代码讲解,项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行ÿ…
移动应用开发全流程与技术栈深度解析 1. 移动应用开发的核心流程解析移动应用开发已经成为了当今数字时代最重要的技术领域之一。从最初的简单功能实现到如今的复杂生态系统构建,移动应用的开发流程也经历了巨大的演变。一个完整的移动应用开发项目通常包含以下几个关键阶段:需求分析阶段是整…
人形机器人城市漫步:从技术原理到社会实验的全面解析 1. 项目概述:当机器人拥有“休息日”想象一下,你是一个机器人,每天的工作就是在仓库里不知疲倦地搬运箱子,或者在实验室里重复着精准的测试动作。你的世界由代码、传感器和任务列表构成。然后有一天,你的创造者对你说&…
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单 更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…
某智驾大牛创业 作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…
PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 在软件开发过程中,清晰的系统设计往往比编码本身更为关键。传统拖拽式UML工具虽然直观,却常常成为效率杀手——频繁的鼠标操作打断设计思路,版本控制困难,…
【RT-DETR涨点改进】29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 开篇故事 上个月帮一家安防厂商做项目优化,他们用RT-DETR做实时人流统计,部署在NVIDIA A10上。客户反馈说:“GPU利用率才30%,但延迟已经飙到40ms了,加人流量就丢帧。” 我远程一看,好家伙——生产环境里每个请求单独…
Postman 环境变量实战:3种动态设置方法与CI/CD集成避坑指南 Postman 环境变量高阶实战:动态管理与 CI/CD 深度集成在接口自动化测试领域,环境变量的灵活运用往往成为区分初级与高级测试工程师的关键能力。本文将深入探讨 Postman 环境变量的三种动态设置模式,并分享 Newman 在 CI/CD 流水线中的实战避坑…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…