gpt4 book ai didi

mysql - 加快自连接sql查询速度

转载 作者:行者123 更新时间:2023-11-29 23:28:58 26 4
gpt4 key购买 nike

我尝试在表上运行一个相对简单的查询:

select distinct(a.question_id || a.app_name) 
from quick_stats a
join quick_stats b on a.question_id = b.question_id
and a.app_name != b.app_name;

不幸的是,查询需要很长时间才能运行。

我相信这是因为表中有大约 400 万条记录,并且由于它必须对照表中的所有其他记录检查每条记录,这意味着有 16 万亿次检查。

我怎样才能编写这个查询,这样它就不会进行这么多检查?

最佳答案

这主要是一个表格设计问题。检查 Question_id 和 app_name 是否已编入索引

请记住:索引列越少,性能就越好索引存储在一个额外的哈希表中,该哈希表指向数据库中的完整条目

也就是说:如果您已对 Question_id 和 app_name 建立索引,您的查询将在某种单独的表中搜索,而不必读取包含所有列的完整表

关于如何正确索引表的一个非常有用的来源是:http://use-the-index-luke.com/welcome

关于mysql - 加快自连接sql查询速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724927/

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