gpt4 book ai didi

MySql:如何减少此查询的执行时间?

转载 作者:行者123 更新时间:2023-11-29 21:07:16 25 4
gpt4 key购买 nike

如何自定义此查询,大约需要 30 秒才能取出结果,“视频”表中的总记录约为 50 万条,“成员(member)”表中存在 300 万成员(member),是否有任何备用查询或应该我将此查询分成 2 个选择查询?

user_id 已编入索引vid_id 已编入索引

select a.ref_url , a.source , a.video_name , a.viewers , b.username ,           
c.points from
members_videos a
inner join Members b on a.user_id = b.user_id
inner join rankings c on c.user_id = b.user_id

where a.cat_ids in (123,234,52,234,423,122) not in (110,99)
order by a.vid_id Desc limit 10

最佳答案

有多种因素:

  1. 确保members_videos、Members 和Rankings 在user_id 列上有索引。
  2. 中断查询;消除 Order By 子句。获取临时表中的数据。
  3. 从临时表中选择数据并将 Order By 子句放在其中。

或者,尝试子查询。

SELECT *
FROM
(
select a.ref_url , a.source , a.video_name , a.viewers , b.username ,
c.points from
members_videos a
inner join Members b on a.user_id = b.user_id
inner join rankings c on c.user_id = b.user_id
where a.cat_ids in (123,234,52,234,423,122) not in (110,99)
) as T
order by T.vid_id Desc limit 10

关于MySql:如何减少此查询的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36699078/

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