gpt4 book ai didi

MySQL 查询很慢?

转载 作者:行者123 更新时间:2023-11-30 22:37:36 26 4
gpt4 key购买 nike

今天我的 SQL 查询有问题,我的请求最多需要 30 秒,所以我的 php 出现错误。

我的 SQL 查询:

SELECT v.ID
, v.TITLE
, v.THUMB
FROM video v
JOIN join_video_date d
ON d.ID_VIDEO = v.ID
JOIN join_video_category c
ON c.ID_VIDEO = v.ID
WHERE c.ID_CATEGORY = $ID
ORDER
BY d.DATE DESC
LIMIT $PAGE,24

这个查询取了按日期排序的 24 个类别的视频,但是这个查询很慢。

我有所有表的索引,例如表“join_video_date”

join_video_date (ID, ID_VIDEO, DATE)

索引:

PRIMARY -> ID
ID_VIDEO -> ID_VIDEO
DATE -> DATE

最佳答案

这是您的查询:

SELECT v.ID, v.TITLE, v.THUMB  
FROM video v JOIN
join_video_date d
ON d.ID_VIDEO = v.ID JOIN
join_video_category c
ON c.ID_VIDEO = v.ID
WHERE c.ID_CATEGORY = $ID
ORDER BY d.DATE DESC
LIMIT $PAGE,24;

首先要尝试的是索引:join_video_category(ID_CATEGORY, ID_VIDEO), join_video_date(ID_VIDEO, DATE)。我假设 video(id) 有一个索引。

您的查询表明一个视频可以有多个类别和多个日期。如果是这样,查询可能并没有按照您的意愿进行。防止这种情况的一种方法是将类别条件移动到 WHERE 子句:

SELECT v.ID, v.TITLE, v.THUMB  
FROM video v JOIN
join_video_date d
ON d.ID_VIDEO = v.ID
WHERE v.id IN (SELECT c.ID_VIDEO
FROM join_video_category c
WHERE c.ID_CATEGORY = $ID
)
ORDER BY d.DATE DESC
LIMIT $PAGE,24;

关于MySQL 查询很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32035822/

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