gpt4 book ai didi

mysql - 我可以让它更快吗 - SELECT min(date_time) FROM db.event - 在 bash 脚本中使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:26 25 4
gpt4 key购买 nike

我正在尝试缩短查询此表所需的时间。这是我们的生产表之一,因此我们无法对其进行任何更改。我在 bash 脚本上使用以下查询

SELECT min(date_time) FROM db.event 

但是,这大约需要 20 分钟。我们在这些分区上有很多数据——大约 100GB。bash 脚本需要收集该表中最早的记录。有没有更好的方法可以提高效率,比如说 10 分钟或更短时间?

*************************** 1. row ***************************
Table: event
Create Table: CREATE TABLE `event` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(100) NOT NULL,
`application` varchar(100) NOT NULL,
`cdr_id` varchar(100) NOT NULL,
`date_time` datetime NOT NULL,
PRIMARY KEY (`id`,`date_time`),
KEY `ix_cdr` (`cdr_id`),
KEY `ix_type_app_cdr` (`type`,`application`,`cdr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2985903027 DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (to_days(date_time))
(PARTITION p735660 VALUES IN (735060) ENGINE = InnoDB,
...
... many partitions here
...
...
PARTITION p735660 VALUES IN (735566) ENGINE = InnoDB)

最佳答案

您想在 date_time 上创建索引:

create index event_datetime on event(date_time)

date_time 字段必须是索引中的第一列。

编辑:

如果您不能对表格进行更改,那么您就有问题了。如果 datetimeid 相关,那么您可以:

select datetime
from event
order by id
limit 1;

但这是一个很大的假设,即最小日期在最小 id 上。

关于mysql - 我可以让它更快吗 - SELECT min(date_time) FROM db.event - 在 bash 脚本中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com