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

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 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?