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

mysql 查询的一般思路

能用单表优先用单表,即便是需要用group by、order by、limit等,效率一般也比多表高

不能用单表时优先用连接,连接是SQL中非常强大的用法,小表驱动大表+建立合适索引+合理运用连接条件,基本上连接可以解决绝大部分问题。但join级数不宜过多,毕竟是一个接近指数级增长的关联效果

能不用子查询、笛卡尔积尽量不用,虽然很多情况下MySQL优化器会将其优化成连接方式的执行过程,但效率仍然难以保证

自定义变量在复杂SQL实现中会很有用,例如LeetCode中困难级别的数据库题目很多都需要借助自定义变量实现

如果MySQL版本允许,某些带聚合功能的查询需求应用窗口函数是一个最优选择。除了经典的获取3种排名信息,还有聚合函数、向前向后取值、百分位等

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

相关文章:

  • 【Web APIs】DOM 文档对象模型 ⑤ ( 获取特殊元素 | 获取 html 元素 | 获取 body 元素 )
  • Android11 以Window的视角来看FallbackHome的启动
  • 9 RestClient客户端操作文档
  • 『Z-Weekly Feed 08』加密资产观 | FHE应用前景 | OPAL协议
  • 酒店预定系统
  • Redis的实战常用一、验证码登录(解决session共享问题)(思路、意识)
  • 基于Spring Boot的智能分析平台
  • HTML(13)——显示模式
  • 【Spring】Spring Boot 快速入门
  • Go自定义数据的序列化流程
  • 贪心算法练习题(2024/6/18)
  • 4.1 四个子空间的正交性
  • RabbitMQ实践——使用WebFlux响应式方式实时返回队列中消息
  • SpringBoot前后端传递数据时常用的JSON格式数据是什么?【讲解JSON概念、语法、以及Java对象互转】
  • mysql学习——SQL中的DQL和DCL
  • windows系统上nginx搭建文件共享
  • 星闪指向遥控,做家电交互的破壁人
  • SpringBoot使用AutoConfigure实现依赖库自动导入配置
  • QT中利用动画弄一个侧边栏窗口,以及贴条效果
  • win10免安装配置MySQL8.4.0
  • VS Code安装及环境配置(超详细)
  • shell脚本通过解析日志使用串口开关屏知识点整理
  • 速盾:视频cdn和网站cdn的相同点与不同点
  • 37.自定义协议
  • 【React Native】measureInWindow在安卓上无法正确获取View在屏幕上的布局信息
  • C++ 教程 - 04 类的使用
  • excel按模板文件导出多个文件并压缩为ZIP格式返回前端
  • 自动驾驶仿真测试用例表格示例 ACC ELK FCW
  • 数组 (java)
  • 时序预测 | Matlab基于Transformer多变量时间序列多步预测