大表 counttable(千萬列)直接統計近 7 天消費總額耗時 3.95 秒,且影響線上業務。
CREATE TABLE tmp_count (
cid VARCHAR(10),
cust_count DECIMAL(16,2),
cust_date DATE,
cust_ip VARCHAR(20)
) ENGINE=InnoDB;
INSERT INTO tmp_count
SELECT id, custi, coutdate, custip
FROM counttable
WHERE coutdate < DATE_SUB(NOW(), INTERVAL 7 DAY);
-- 1577 萬列約 6.67 秒
SELECT SUM(cust_count) FROM tmp_count;
-- 0.73 秒,提速 5.4 倍