CREATE TABLE log_data (
id bigint NOT NULL COMMENT ‘主键(显示雪花算法生成)’ ,
ser_num varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ‘序列号’,
status bigint DEFAULT NULL COMMENT ‘状态’,
req_num int DEFAULT NULL COMMENT ‘次数’,
req_date datetime DEFAULT NULL COMMENT ‘时间’,
KEY idx_ser_num (ser_num) COMMENT ‘ser_num’,
KEY idx_req_date (req_date) COMMENT ‘req_date’
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT=‘记录’
PARTITION BY RANGE COLUMNS(req_date)
(PARTITION p20250915 VALUES LESS THAN (‘2025-09-16 00:00:00’),
PARTITION p20250916 VALUES LESS THAN (‘2025-09-17 00:00:00’));
该表50亿+数,
SELECT
ser_num,
req_date,
status,
req_num
FROM
log_data
WHERE
(
ser_num= ?
AND req_date>= ‘2025-09-16 00:00:00’
AND req_date< ‘2025-10-17 00:00:00’
AND req_dateIS NOT NULL
)
ORDER BY
req_dateASC 单次执行需要2秒,如果并发同时执行,单条执行时间变成几十秒( 并发执行sql查询的时候,服务器内存使用率飙升
)