mysql 查询的一般思路

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

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

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

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

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

相关推荐
Kan先生43 分钟前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python
超级迅猛龙1 小时前
保姆级Debezium抽取SQL Server同步kafka
数据库·hadoop·mysql·sqlserver·kafka·linq·cdc
杨过过儿1 小时前
【Task02】:四步构建简单rag(第一章3节)
android·java·数据库
····懂···2 小时前
攻克PostgreSQL专家认证
数据库·postgresql
每天都在想吃啥2 小时前
day31 SQLITE
数据库·sqlite
helloyaren3 小时前
Docker Desktop里搭建Mysql 9.4主从复制的保姆级教程
mysql·技术·主从复制
weixin_456588153 小时前
【java面试day16】mysql-覆盖索引
java·mysql·面试
舒一笑4 小时前
MySQL中模糊匹配like的一个坑
后端·mysql
m0_748254095 小时前
2025最新华为云国际版注册图文流程-不用绑定海外信用卡注册
服务器·数据库·华为云
大新屋5 小时前
MongoDB 分片集群修改管理员密码
数据库·mongodb