当前位置:首页 > 技术分析 > 正文内容

20个SQL查询优化技巧(如何优化sql查询效率)

ruisui883个月前 (02-03)技术分析15

以下值得关注的 20个SQL查询优化技术列表:

  • 1.在庞大的表(>1.000.000)行上创建索引
  • 2.使用 EXIST() 代替 COUNT() 查找表中的元素
  • 3.用 SELECT 字段代替 SELECT * 4.
  • 4.避免在 WHERE 子句中使用子查询 5.
  • 5.尽可能避免 SELECT DISTINCT
  • 6.使用 WHERE 子句而不是 HAVING 子句 7.
  • 7.使用 INNER JOIN(而不是 WHERE)创建连接
  • 8.使用 LIMIT 对查询结果进行抽样
  • 9.尽可能使用 UNION ALL 而不是 UNION
  • 10.使用 UNION where 代替 WHERE ... 或 ... 查询。
  • 11.在非高峰时段运行查询
  • 12.避免在连接查询中使用 OR
  • 14.选择 GROUP BY 而不是窗口函数
  • 15.使用派生表和临时表
  • 16.在加载批量数据前删除索引
  • 16.使用物化视图而不是视图
  • 17.避免使用 != 或 <>(不等于)操作符
  • 18.尽量减少子查询的数量
  • 19.当使用左/右连接可以获得相同输出时,尽量少使用 INNER 连接。
  • 20.为检索同一数据集,经常尝试使用临时数据源。


什么是查询优化?
它的主要功能是通过查找最佳执行计划来确定最有效率方式 来执行给定的 SQL 查询。

查询优化器的工作原理是将 SQL 查询作为输入并对其进行分析以确定如何最好地执行它。

  • 第一步是解析 SQL 查询并创建语法树。然后优化器分析语法树以确定如何运行查询。
  • 接下来,优化器生成 替代性执行计划,这是执行同一查询的不同方式。每个执行计划指定访问表的顺序、连接方法以及任何过滤或排序操作。
  • 然后,优化器根据磁盘读取次数和执行查询所需的 CPU 时间为每个执行计划分配一个 成本。
  • 最后,优化器以最低的成本作为查询的最优执行计划。然后使用该计划来执行查询。

20个SQL查询优化技巧 - 极道

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1043.html

标签: 查询优化
分享给朋友:

“20个SQL查询优化技巧(如何优化sql查询效率)” 的相关文章

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...

迁移GIT仓库并带有历史提交记录

迁移git仓库开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。我们可以这样做:使用--mirror模式会把本地的分支都克隆。// 先用--bare克隆裸仓库 git clone git@gitee.com:xxx/testApp...

抖音 Android 性能优化系列:启动优化实践

启动性能是 APP 使用体验的门面,启动过程耗时较长很可能使用户削减使用 APP 的兴趣,抖音通过对启动性能做劣化实验也验证了其对于业务指标有显著影响。抖音有数亿的日活,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向...

10款超牛Vim插件,爱不释手了

我是一个忠实的Vim编辑器用户,从事开发工作多年,我一直都非常喜欢使用Vim。轻量、便捷,而且,熟悉了Vim相关的快捷键之后,效率能够成倍的提升。除了这些之外,Vim像很多知名的IDE、编辑器一样,也支持插件配置,通过这些插件,可以实现更多高级、高效的操作。今天,就来给大家分享10个我特别喜欢的Vi...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...

Vue实战篇|使用路由管理用户权限(动态路由)

权限控制是后台管理系统比较常见的需求,如果我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。跟着我一起来学vue实战篇路由管理权限吧!权限校验函数getCurrentAuthority()函数用于获取当前用户权限,一...