mysql 简单的单表查询效率低于了多表联合查询,有大神知道问题的所在吗?

当前有公共优惠券表400余条,用户领取优惠券表7000余条,订单表20万余条,通过单表查询公共优惠券列表扫全表要3秒,通过失效时间查查不了多少,已添加失效时间的索引。
但通过三张表联表查询公共优惠券列表同时查用户领取数,使用的订单数与订单金额等,效率反而提升到了2秒

图片说明

图片说明

图片说明

图片说明

首先,单表查询和联表查询的效率问题,可能是由于查询条件、索引、表结构等因素造成的。在这种情况下,通过针对性地优化查询条件、添加合适的索引、合理的表结构设计等,可以提高单表查询的效率。

其次,联表查询通过使用多张表的关联条件,能够一次性查询出更多的数据,从而避免了对多个表的多次查询,这可以提高联表查询的效率。

最后,综合考虑数据量、查询条件、表结构等因素,选择合适的查询方式是提高查询效率的关键。在实际情况中,需要根据场景不断试错、优化,才能达到最优的查询效率。