繁体   English   中英

SQL查询优化,用于计数和显示(列中的不同值),按其他两列分组

[英]Sql Query Optimization for counting and displaying (distinct value in column), grouped by other two columns

从A,B和C列中,我计算出将表按A,B分组的不同的C。下面是示例表:

IMG1

输出应该类似于:

IMG2

我正在使用wamp服务器进行测试的本地计算机中运行phpMyAdmin。 我的数据库有500000行。 我使用以下查询,并且花费了超过180秒的时间来运行查询。

select A, B, count(distinct C)
from table
group by A, B
order by count(DISTINCT C) desc

是否有可用于相同结果的最佳查询,这将减少我的运行时间? 还是因为表中有大量数据?

为了提高性能,您将需要在表上添加(A, B, C)综合索引

ALTER TABLE your_table_name 
ADD INDEX(A,B,C);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM