sql优化——减小入口数据量

举例如下sql,假如portal_product数据量超大,这样连接查询

um_user_info:2W条;

portal_product:100W条;

笛卡尔积:2W*100W

SELECT
      pp.id,
      pp.cover,
      uui.user_id userId,
      uui.user_name userName
    FROM portal_product pp,um_user_info uui
    WHERE pp.user_id = uui.user_id


调整过后,提前减少入口数据量:

笛卡尔积:100*2W;效率大大提高

SELECT
      pp.id,
      pp.cover,
      uui.user_id userId,
      uui.user_name userName
     FROM 
        (select * FROM  portal_product where XXX limit 0,100) pp
        ,um_user_info uui
     WHERE pp.user_id = uui.user_id


减少入口数据量优点:

1、提高查询效率(很多效率低,可能就是各个表数据量太大,关联查询主键之外的字段慢得就很明显);

2、限定指定数据量范围内分页查询,防止被抓取全部数据(题外话,根据实际功能而定);

欢迎欣赏实战:百搭屋


猜你喜欢

转载自blog.csdn.net/hgg923/article/details/79292489