gpt4 book ai didi

mysql - 提高sql查询性能

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:19 24 4
gpt4 key购买 nike

Below is a location table
CREATE TABLE locations (
`id` int(11),
`user_id` int(11),
`timestamp` datetime
PRIMARY KEY (`id`),
KEY `index_on_timestamp` (`timestamp`),
KEY `index_on_user_id` (`user_id`)
);

我运行以下查询来检索给定用户过去一周的位置:

SELECT * FROM locations 
WHERE user_id=20
AND timestamp > NOW() - INTERVAL 7 DAY;

我们在 user_id 和 timestamp 上都有索引,但是,这个查询需要很长时间才能运行。需要帮助解决这个问题。

最佳答案

您需要按 用户 ID 和时间戳的顺序索引:

create index user_locations_user_id_timestamp on user_locations(user_id, timestamp)

这将完全满足 where 子句。

关于mysql - 提高sql查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548789/

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