SQL几个数据表都有100万左右数据,几个表关联查询统计总数怎么提高查询性能?

1个回答

  • SELECT count(id)

    FROM TBL_POS_SHOP s,

    TBL_POS_POS p,

    TBL_POS_CUSTOMER c,

    TBL_POS_ORDER o,

    TBL_POS_CARDINFO cd

    WHERE o.POS_CATI = p.POS_CATI

    and o.CUSTOMER_ID = c.ID

    and o.SHOP_ID = s.ID

    and o.CARDINFO_ID = cd.ID

    首先,我觉得你找出各个表的关系,主从关系,主表放左边,依赖的表放右边,都用左连接,而不用现在这种内连接,

    其次你的指定的count(id)请带上表的别名,你取得是哪个表的ID,否则系统区分不了,就会产生长时间等待.