关于MySQL查询条件问题的优化

本文探讨了在面对大量数据时,如何优化MySQL的查询,尤其是涉及多表联查和单表查询的场景。在用户阅读图书记录报表的查询中,分析了两种查询方式的优缺点。当增加模糊查询条件后,由于数据量大,两种方法都可能出现性能问题。解决方案是限制查询条件的模糊程度,通过明确的ID或特定标识(如用户ID和ISBN)来提高查询效率。最终强调,对于不可行的查询,技术人员应主动与需求方沟通,调整需求以优化查询性能。
摘要由CSDN通过智能技术生成
  1. 技术能解决的事情改技术
  2. 技术解决不了的事情该需求

假设我们目前有两张表

业务表 书( t_a_book ) 阅读历史记录表 (t_r_book_history) 用户表

其两张表的数据逻辑如下

t_a_book

t_r_book_history

t_a_user

当然了,我们假设当前的数据量并不只是我们眼前看到的这几条数据,而是线上真实情况。

每张表至少都是10w+起步

这时候,我们需要面临第一个业务问题,

  1. 我们需要做一个报表,显示用户阅读图书的记录,并显示用户名,用户号,书名

这时候我们如何设计查询SQL

多表联查

SELECT * FROM t_r_book_history bh 
	LEFT JOIN t_a_user u ON bh.user_id = u.id 
	LEFT JOIN t_a_book b ON bh.book_id = b.id 
WHERE 
	bh.record_fl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值