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

SQL的优化【面试工作】

SQL的优化

最近看到群友在讨论这块的优化,感觉不管工作和面试,都是用上的,记录下吧!(不然又记不住)

在这里插入图片描述

优化点:

处理和优化复杂的 SQL 查询可以有以下几个方向:

1.优化查询语句本身

首先,可以优化 SQL 查询语句本身,尽量让其更加简洁高效

**具体的优化方法**可以包括:

  1. 使用适当的索引,可以加速查询;
  2. 避免使用子查询或视图,因为它们会增加查询的复杂度;
  3. 避免使用多个 JOIN,或者使用 LEFT JOIN 代替 INNER JOIN;
  4. 使用 UNION 代替 OR 连接的多个 SELECT;
  5. 优化 WHERE 子句,避免使用不必要的计算或者函数,例如不要在 WHERE 子句中使用函数,因为这会导致无法使用索引。
  6. 避免使用不必要的计算或者函数(数据量大的时候,卡shi你!!!!,别问我咋知道的,特喵的我写过!!!)

在这里插入图片描述

2.拆分查询语句

这个方法非常的推荐!!!! 面试也是加分项!!!

如果一个查询语句非常复杂,可以考虑将其拆分多个简单查询语句

可以使用临时表或者表变量将中间结果保存下来,然后在多个简单查询语句之间传递数据。

这种方法可以减轻单个查询语句的负担,使其更容易优化和调试。

3.优化数据库结构

数据库结构也可以影响查询的性能。

可以考虑以下几个方面:

  1. 正确的索引和键可以加速查询;
  2. 表的设计应该符合范式,减少冗余数据;
  3. 对于大量的插入和更新操作,可以考虑使用分区表。

4.使用缓存

如果查询结果不是实时的,并且查询非常复杂,可以考虑使用缓存技术。将查询结果缓存到内存中,可以大大提高查询的速度。

使用分布式架构
对于非常复杂的查询,单个数据库可能无法满足性能要求。

可以考虑使用分布式架构,将查询分散到多个节点进行计算。

这样可以充分利用集群的计算能力,加速查询的速度

以上是一些常见的优化方法,但具体的优化方案需要根据实际情况进行调整和优化。

http://www.lryc.cn/news/24667.html

相关文章:

  • Kotlin 40. Dependency Injection 依赖注入以及Hilt在Kotlin中的使用,系列3:Hilt 注释介绍及使用案例
  • 1000亿数据、30W级qps如何架构?来一个天花板案例
  • 人工智能及其应用(蔡自兴)期末复习
  • openpnp - configure - 矫正里程碑
  • JavaScript高级程序设计读书分享之8章——8.2创建对象
  • 关于Could not build wheels for opencv-python-headless, which is...报错的解决方案
  • 【K3s】第1篇 K3s入门级介绍及架构详解
  • Java学习--反射
  • 应用和迭代(名词解释)
  • HTMLCollection 和 NodeList 区别
  • fork()出来一个进程,这个进程的父进程是从哪来的?
  • 结构体内存对齐
  • 【C语言进阶】指针进阶
  • java:Class的isPrimitive方法使用
  • TCP 握手过程 三次 四次
  • windows 下 安裝mysql 5.7.41 (64位) 超简单方式
  • 二叉树——二叉树的最近公共祖先
  • 数据结构与算法基础-学习-14-线性表之串
  • Mac 快捷键
  • 【微服务】-微服务环境搭建
  • IGKBoard(imx6ull)-ADC编程MQ-2烟雾传感器采样
  • 前端二面vue面试题总结
  • 时间API在更新,传奇已经谢幕,但技术永远不死
  • SQL调优指南笔记22:Gathering Diagnostic Data with SQL Test Case Builder
  • 从0开始学python -43
  • Kafka基本原理
  • css3的重点内容
  • 《Roller: Fast and Efficient Tensor Compilation for Deep Learning》
  • 顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了
  • docker启动容器服务之后访问失败