gpt4 book ai didi

MySQL - SELECT + JOIN + ORDER BY 性能

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

我有两个表,我需要从它们中选择一些连接的数据

SELECT f.* 
FROM file_data f
JOIN subscriptions s ON f.uid = s.elementid
WHERE s.uid = 119762 AND f.private=0
ORDER BY f.date DESC

现在,即使是一小部分数据,查询也需要一秒钟的时间。这是由于在“订阅”上使用了“文件排序”和“临时”,由 ORDER BY f.date 引起(删除该条件会导致时间下降到 0.01 秒以下)

谁能告诉我如何加快查询速度?

这是 EXPLAIN 的结果

id  select_type    table    type   possible_keys    key            key_len  ref           rows  Extra
1 SIMPLE s ref uid_elementid uid_elementid 4 const 171 Using index; Using temporary; Using filesort
1 SIMPLE f ref uid_uname uid_uname 5 s.elementid 22 Using where

最佳答案

索引何时有助于排序依据是非常重要的预测。它很少像“索引 order by 中的字段”那么简单。 This link有细节。如果您认为您有适当的索引,而优化器只是不决定使用它们,请使用 index hint向数据库服务器建议索引。

关于MySQL - SELECT + JOIN + ORDER BY 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4305324/

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