为什么要优化数据库呢?

随着实际项目的启动,数据库经过一端时间的运行,最初的数据库设置,会与实际数据库性能有一些差异,这时候就需要我们做一个优化调整。


数据库优化可分为四大类:

  • 主机性能
  • 内存使用性能
  • 网络传输性能
  • SQL语句执行性能【软件工程师】

下面列出一些数据库SQL优化方案:

(01)选择最有效率的表名顺序(笔试常考)
数据库的解析器按照从右到左的顺序处理FROM子句中的表名,
FROM子句中写在最后的表将被最先处理,
在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表放在最后,
如果有3个以上的表连接查询,那就需要选择那个被其他表所引用的表放在最后。
例如:查询员工的编号,姓名,工资,工资等级,部门名
select emp.empno,emp.ename,emp.sal,salgrade.grade,dept.dname
from salgrade,dept,emp
where (emp.deptno = dept.deptno) and (emp.sal between salgrade.losal and salgrade.hisal)
1)如果三个表是完全无关系的话,将记录和列名最少的表,写在最后,然后依次类推
2)如果三个表是有关系的话,将引用最多的表,放在最后,然后依次类推

(02)WHERE子句中的连接顺序(笔试常考)
数据库采用自右而左的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之左,
那些可以过滤掉最大数量记录的条件必须写在WHERE子句的之右。
例如:查询员工的编号,姓名,工资,部门名
select emp.empno,emp.ename,emp.sal,dept.dname
from emp,dept
where (emp.deptno = dept.deptno) and (emp.sal > 1500)

(03)SELECT子句中避免使用*号
数据库在解析的过程中,会将*依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间
select empno,ename from emp;

(04)用TRUNCATE替代DELETE

(05)尽量多使用COMMIT
因为COMMIT会释放回滚点

(06)用WHERE子句替换HAVING子句
WHERE先执行,HAVING后执行

(07)多使用内部函数提高SQL效率

(08)使用表的别名
salgrade s

(09)使用列的别名
ename e
整理自传智播客。

数据库sql简单的优化方案相关推荐

  1. 阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结

    web前端性能优化 Web前端指网站业务逻辑之前的部分,包括: 1.浏览器加载 2.网站视图模型 3.图片服务 4.CDN服务等 主要优化手段有优化浏览器访问,使用反向代理,CDN等. 1.浏览器访问 ...

  2. 如何写一手好 SQL 【频繁出现慢SQL告警的优化方案】

    前言 MySQL性能 数据表设计 索引优化 SQL优化 其他数据库 前言 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟.导出日志后分析,主要原因 ...

  3. 数据量不断增大的几种简单的优化方案

    文章目录 1.需求分析 2.思路分析 3.解决方法1--sql直接上(两张表各有200多条数据) 4.改进优化1.0--之前数据库的复杂操作放到内存中做 5.改进优化2.0--多线程应用,空间换时间 ...

  4. MySQL慢查询之慢SQL定位、日志分析与优化方案

    一个sql执行很慢的就叫慢sql,一般来说sql语句执行超过5s就能够算是慢sql,需要进行优化了 为何要对慢SQL进行治理 每一个SQL都需要消耗一定的I/O资源,SQL执行的快慢直接决定了资源被占 ...

  5. SQL Server数据库优化方案

    SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...

  6. SQL数据库不用SQL语句能显示全表的内容_MySQL百万级数据库优化方案

    一.百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断 ...

  7. 数据库SQL优化方案

    转载地址:https://mp.weixin.qq.com/s?__biz=MzIxMjg4NDU1NA==&mid=2247483684&idx=1&sn=f5abc60e6 ...

  8. 数据库sql常见优化方案

    为什么要优化:      随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能 会有一些差异,这时我们就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: ...

  9. 数据库sql优化总结之2-百万级数据库优化方案+案例分析

    目录 项目背景 7.在 where 子句中使用参数,是不会导致全表扫描. 案例分析 8.在 where 子句中对字段进行表达式操作,是不会导致全表扫描.不过查询速度会变慢,所以尽量避免使用. 案例分析 ...

最新文章

  1. 4 月 24 日开播!基于神经网络建模的信息传播预测
  2. 【OpenCV 4开发详解】图像上绘制几何图形
  3. Linux下C程序的可扩展性.
  4. 第三次学JAVA再学不好就吃翔(part7)--基础语法之运算符
  5. nodejs中path的用法
  6. 中国计量大学c语言历年考试卷,语言程序设计试卷A中国计量学院.doc
  7. note_maven的概念,作用
  8. 清除实例或静态事件的所有事件侦听器
  9. Myeclipse下使用Maven搭建spring boot项目(第二篇)
  10. 获取批量导入数据后,所产生所有自增ID的值
  11. 小型局域网环境下搭建的文件中转系统
  12. 【数据分析入门】R语言绘图语句总结
  13. Docker1.8 官方中文文档
  14. 大数据软件的国内镜像
  15. 做SEO优化第七步:如何选择网站程序模版?
  16. ​CS客户端渗透测试详解(三)
  17. Unity3D代码动态修改材质球的颜色
  18. curator分布式锁
  19. CNN原理及模型参数
  20. 聚焦低代码SaaS云服务,让企业轻松办公!

热门文章

  1. vscode输入英文时字体之间的间隔突然变大
  2. 火焰焰心matlab,火焰的形貌-中性焰、碳化焰、氧化焰
  3. (附源码)计算机毕业设计SSM绩效考核管理系统
  4. 电脑垃圾清理,恶意软件清理,C盘清理
  5. Web实现:网易云音乐个人推荐页
  6. 北京历正科技 招聘FPGA工程师
  7. Teamwork(The second day of the team)
  8. Teamwork(The first day of the team)
  9. 73个word使用终极技巧
  10. 女性比男性更聪明、更会投资、事业心更重、对自己更严格?揭秘女性价值崛起的数据真相!...