mysql查询问题
mysql版本: 5.7.26-log
数据库:
管理员-用户表 admin_user (一个管理员管多个用户)几百条数据
订单表 api_order (一个订单对应一个用户) 4百万条数据 表里的时间字段加了索引,用户id字段加了索引
现需要查某个管理员名下所有用户在某一时间段的订单数量,
代码如图,结果在执行的时候一直转圈圈,单独把管理员名下所有用户id取出来放到userid in (xxxxx)里一下子就查出来了,用explain分析后给admin_user表里的adminid字段加索引,结果还是不行,最后给admin_user表的userid加上索引后就好了(●°u°●) 」
PS:按理说不加索引应该能查出来的,管理员也就管理了9个用户,子查询只查出9条数据,然后订单表那里加了时间限制,给时间加索引了,单独取那段时间的数据也就2千多条数据, 可就是查不出,在workbench里运行总是转圈圈,而且就算加索引,子查询里是where adminid=xxxx,我给adminid字段加索引了还是转圈 圈 ,最后再给userid加索引了就好了,一下子就查出来了!!!
SQL
mysql查询问题
mysql版本: 5.7.26-log
数据库:
管理员-用户表 admin_user (一个管理员管多个用户)几百条数据
订单表 api_order (一个订单对应一个用户) 4百万条数据 表里的时间字段加了索引,用户id字段加了索引
现需要查某个管理员名下所有用户在某一时间段的订单数量,
代码如图,结果在执行的时候一直转圈圈,单独把管理员名下所有用户id取出来放到userid in (xxxxx)里一下子就查出来了,用explain分析后给admin_user表里的adminid字段加索引,结果还是不行,最后给admin_user表的userid加上索引后就好了(●°u°●) 」
PS:按理说不加索引应该能查出来的,管理员也就管理了9个用户,子查询只查出9条数据,然后订单表那里加了时间限制,给时间加索引了,单独取那段时间的数据也就2千多条数据, 可就是查不出,在workbench里运行总是转圈圈,而且就算加索引,子查询里是where adminid=xxxx,我给adminid字段加索引了还是转圈 圈 ,最后再给userid加索引了就好了,一下子就查出来了!!!