一:基本写法优化
1.少使用 * ,需要什么字段就取什么字段。
2.对于条件中等号两边类型要一致,字符串类型不加单引号会导致索引失效。
3.尽量少使用order by,对于多个字段要排序的使用组合索引。
4.对于group by语句要先过滤后分组。
5.在查询时尽量少使用null,可给字段设置默认值。
6.少使用like,需要使用时,尽量用 abd% ,不要将%用在最前面。
7.在where后面少使用函数或算术运算。
8.distincit过滤字段要少,避免使用distinct * 。
9.不要超过5个表以上的连接。
二:建立合适的索引
1.对于高频筛选字段可以适当简历索引。
2.一个表的索引不要超过5个,多了会影响插入、修改。
3.不要对值是有限重复的字段建立索引,如性别。
4.使用组合索引一定要遵守最左原则。
三:替代优化
1.不要使用not in和<>,会破坏索引结构,not in可以使用not exists代替,<>可以使用<和>代替。
2.使用join连接代替子查询。
四:分页优化
1.当翻页要翻很多的时候,将limit (from) ,(size)替换成where id>#lastId},select * from table limit 50000,50000替换成select * from table where id>50000 limit 50000,id为前端传回上一次查询的最后一条数据的id。(id为自增)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构