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

Mysql常见sql语句优化

SQL语句优化

  • 不要把SELECT子句写成 SELECT *

    SELECT * FROM t_emp;
    
  • 谨慎使用模糊查询

    SELECT ename FROM t_emp WHERE ename LIKE '%S%'; #不使用索引
    SELECT ename FROM t_emp WHERE ename LIKE 'S%';
    
  • 对ORDER BY排序的字段设置索引

SELECT ename FROM t_emp order by deptno
  • 少用IS NULL

    SELECT ename FROM t_emp WHERE comm IS NULL; 
    SELECT ename FROM t_emp WHERE comm =-1;
    
  • 尽量少用 != 运算符

    SELECT ename FROM t_emp WHERE deptno!=20; 
    SELECT ename FROM t_emp WHERE deptno<20 AND deptno>20;
    
  • 尽量少用 OR 运算符

    SELECT ename FROM t_emp WHERE deptno=20 OR deptno=30; #不使用索引
    SELECT ename FROM t_emp WHERE deptno=20 
    UNION ALL
    SELECT ename FROM t_emp WHERE deptno=30;
    
  • 尽量少用 IN 和 NOT IN 运算符

    SELECT ename FROM t_emp WHERE deptno IN (20,30); #不使用索引
    SELECT ename FROM t_emp WHERE deptno=20 
    UNION ALL
    SELECT ename FROM t_emp WHERE deptno=30;
    

    java开发手册

    image-20240423224020753

  • 避免条件语句中的数据类型转换

    SELECT ename FROM t_emp WHERE deptno='20';
    
  • 在表达式左侧使用运算符和函数都会让索引失效

    SELECT ename FROM t_emp WHERE salary*12>=100000; #不使用索引
    SELECT ename FROM t_emp WHERE salary>=100000/12;
    SELECT ename FROM t_emp WHERE year(hiredate)>=2000; #不使用索引
    SELECT ename FROM t_emp 
    WHERE hiredate>='2000-01-01 00:00:00';
    
http://www.dtcms.com/a/395556.html

相关文章:

  • CPU性能优化指南:让处理器火力全开
  • 火山PromptPilot ,支持api sdk构建AI应用开发
  • 使用Rax构建小程序项目踩坑记录
  • Vue自定义滚动条的实现
  • 【鸿蒙面试题-7】鸿蒙与web混合开发
  • 基于Java语言的搭子小程序_搭子APP平台
  • implements Serializable作用和原理
  • valkey9.0之HFE
  • 基于C#的湿度上位机实现方案
  • 汽车电子模块缩写
  • 随机裁剪 vs. 中心裁剪:深度学习中图像预处理的核心技术解析
  • 四大金刚之计算机网络
  • 划重点|云栖大会「AI 原生应用架构论坛」看点梳理
  • Spark源码中的AQS思想
  • lora微调大语言模型(qwen1.5-chat)
  • 数藏APP如何选择高防IP
  • 破壁之道:构建统一EDI平台,提速芯片设计与制造协作链路
  • 【完整源码+数据集+部署教程】房屋损坏图像分割系统: yolov8-seg-fasternet-bifpn
  • 整体设计 完整的逻辑链条 之6 从简约文字到公共逻辑:四种 “空” 驱动的整体构建方法论
  • 软考中项备考经验分享
  • 基于疾风气象大模型预测“桦加沙”台风轨迹的探索与展望
  • 光谱相机在护眼灯领域的应用
  • 坤驰科技携国产化MTCA解决方案,亮相大科学装置控制系统研讨会
  • 操作系统(一) :操作系统基本概念及特征
  • 魔百盒 Armbian OS 25.08 (基于 Debian 11 bullseye)换源
  • MacOS安装brew失败,无法访问github,怎么处理
  • 举办2025年iCAN大学生创新创业大赛未来机器人创业大赛
  • MissionPlanner架构梳理之(十八)视频流
  • 2025 前端突围战:当 React Server Components 遇上 AI 编程,我们该如何重构开发范式?
  • xss-labs闯关【1-11】