suellen爱吃肉 2019-05-07 21:54 采纳率: 100%
浏览 1023
已采纳

mysql 百万数据库 count 1秒内出结果

sql1:

SELECT
            count(*)
        FROM
            t_order T  FORCE INDEX(cc)
        where
            T.del_status = '0'
            and T.is_project_order = '0'
            and T.firstperson = ''
            AND T.serverUserId = 'cdbcd902dbe411e89c777cd30ae00302

执行计划:

图片说明

sql2:

select 
            count(T.id)
        from t_order T 
        where
        T.is_project_order = '0'
            and T.del_status = '0'
            and T.`status` not in ( 'ORDERCOMPLETE')

执行计划:
图片说明

t_order表 索引
图片说明

请教如何优化到1s内

目前百万数据库中执行下来是2s多

  • 写回答

4条回答 默认 最新

  • Hefei19881002 2019-05-08 13:49
    关注
    SELECT count(1) FROM (SELECT T.id from  from t_order T WHERE  T.is_project_order = '0' and T.del_status = '0'
     and T.`status` not in ( 'ORDERCOMPLETE'))
    
        加全覆盖索引 也就是说 把where子句后面条件涉及到的列 按照从左到右的顺序添加到索引中
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 为什么我按照电路图做出的仿真和实物都不能使用
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web