gpt4 book ai didi

postgresql - SQL 计数不同 ID 太慢(~7 秒)

转载 作者:行者123 更新时间:2023-11-29 11:49:24 24 4
gpt4 key购买 nike

我有这样的查询:

SELECT disease_name, COUNT(DISTINCT id)
FROM disease_table
GROUP BY disease_name

其中每个 disease_name 都有一个关联的标识符,并且同一标识符可能会多次出现疾病。

这行得通,但大约需要 7 秒才能运行

如果我运行这个查询:

SELECT disease_name, COUNT(disease_name)
FROM disease_table
GROUP BY disease_name

需要 321 毫秒,但重复的行(具有相同 ID 的相同疾病)被计算多次。

是否有更有效的方法来仅使用 SQL 在与第二个查询大致相同的时间内获得第一个查询的结果?

表格:

disease_name     |         id
------------ | -------------
dis_1 123
dis_1 104
dis_1 104
dis_32 123
dis_12 123
dis_12 115

预期:

disease_name     |        count
------------ | -------------
dis_1 2
dis_32 1
dis_12 2

其中 dis_1 有 3 个条目,但只被计算两次,因为这 3 个条目中有两个具有相同的 id

最佳答案

尝试在 disease_table 上添加一个合适的索引,如下所示:

CREATE INDEX ON disease_table(disease_name, id);

看看这是否解决了您的问题。

关于postgresql - SQL 计数不同 ID 太慢(~7 秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594455/

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