mysql 多表 count 查询非常慢如何优化

mysql 多表 count 查询非常慢如何优化
用户表 user 订单表 order
用户列表想显示 当数量 使用
select (select COUNT(*) from order where user_id=id) from user
用户几万条数据,订单十几万数据 本机直接查询都需要上百秒 如何优化 COUNT

1、一个查询SQL慢涉及的方面太多,如数据库运行环境:CPU、内存、网络等等;又如系统设计:业务流程设计、表结构设计(其中包含索引)是否合理等等;再如SQL编写是否契合表的结构及其数据分布等等……
2、你展示的SQL仅仅是测试,正式生产上这个SQL无任何意义,只是一堆count值,你需要描述你具体的业务需求大家才能给你合理的SQL建议
3、根据你的描述,你的order表中用户ID字段必须建立索引,这个是基本的

首先,user_id和id这种用于查询条件的字段要加索引
其次,你这嵌套嵌套的毫无意义,把外层select删掉

count(*)改成count(订单ID号)

我需要用到事务,SQL语句我简写了,我的语句里面还有LEFT OUTER关联别的表 我的目的是 用户列显示订单数量
select name,sex, ...,(select COUNT(*) from order where user_id=id) as 订单数量 from user