1. 关于多表查询
我的理解:由于MySQL多表查询时表之间的连接是笛卡尔积的方式,所以尽量少使用多表查询,如果使用则使用嵌套语句
例:说明: `tb_notice_message` 表数量百万级别以上,别名是wm表1000条左右
1 SELECT COUNT(1) AS TotalNum 2 FROM `tb_notice_message` nm, (SELECT u.`userid` FROM `xiaoxin`.`tb_ios_whitemobile` m INNER JOIN `user_center`.`tb_user` u ON m.`userid` = u.`userid` WHERE u.`identity` = 1) AS wm 3 WHERE nm.`deleted` = 0 AND nm.`state` = 1 AND nm.`sender` <> wm.`userid` AND nm.`sid` = 4001 AND nm.sendtime >= '2014-10-22' AND nm.sendtime < '2014-11-1' AND nm.`noticetype` = 1