一、故事背景
有一张 600万 左右的表做 select count(*)
占用大量CPU并且速度特别慢。
二、原 SQL 分析
Server version: 8.0.35-log MySQL Community Server - GPL
SQL 如下,仅仅就是统计 db001.item
这张表的行数,一条简单的不能再简单的 SQL,但却占用了大量CPU资源:
SELECT count(*) FROM `db001`.`item` WHERE project_id IS NULL AND ((tag IS NULL OR tag = '')) AND `item`.`deleted_at` IS NULL;