当前位置: 首页 > 知识库问答 >
问题:

MySQL计数查询未响应

相诚
2023-03-14

我正在执行一个有限制的表清理,但之前想检查计数。

simple count()查询没有响应。

SELECT COUNT(1) FROM schema.table1 INNER JOIN schema.table2 ON table1.col1 = table2.col2;

该表可能有超过5000万条记录。我知道在这么大的数据集中添加连接的影响。但是,这是清理与其他表不匹配的数据所必需的。

如有任何指导,将不胜感激。或替代方法。

共有1个答案

田宇
2023-03-14

除了添加包含连接条件的索引之外,没有什么可以优化查询:

sql prettyprint-override">CREATE INDEX idx1 ON schema.table1 (col1);
CREATE INDEX idx2 ON schema.table2 (col2);

您可以在上述步骤前后运行explain,以更好地理解MySQL是如何执行查询的。

 类似资料:
  • `public class Main{private static Connection connect=null;private static Statement PreparedStatement=null;private static ResultSet ResultSet=null;

  • 问题内容: 我有一个供用户使用的表,该表具有一个名为“ created”的字段,该字段具有注册日期。 如何获得包含过去12个月每月注册数量计数的列表?像这样: 我不习惯使用mysql,所以直到现在,我只知道如何计算去年的注册数量,而不是如何按最近12个月的数量进行分组。提前致谢! 更新 现在,我使用@fthiella解决方案来得到这个: 我如何强制查询给我计数为0的月份? @fthiella解决方

  • 问题内容: 我想从t1中获取名称,并在t2中获得与ID在t1上相同的行数。 到目前为止,我已经掌握了上述内容,但是如果t2中没有匹配的行,它将不会返回任何数据。如果没有行,则我希望将其设置为0(或NULL),并且名称仍然返回。 编辑: 我希望能够按降序排序。(或ASC)可行吗? 问题答案: 这应该为您工作: 左联接确保您拥有t1中的所有行,而COUNT(。)使其仅计算t2.id不为null的记录(

  • 问题内容: 我正在尝试在单个查询中计算两列,但结果却为medcount和uploadcount吐出了相同的值。有什么建议? 问题答案: 使用:

  • 本文向大家介绍如何对MySQL联合查询计数?,包括了如何对MySQL联合查询计数?的使用技巧和注意事项,需要的朋友参考一下 要对联合进行计数,即获取UNION结果的计数,请使用以下语法- 为了理解上述语法,让我们创建两个带有一些记录的表。创建表的查询如下- 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出- 该查询创建第二个表。 使

  • 问题内容: 我有一个关于MYSQL中的选择查询的问题 我有两个不同的表,我想获得一定的结果 我使用了COUNT方法,该方法只给我结果(> = 1) 但实际上,我想使用包含零的所有计数怎么做? 我的查询是: 第一张桌子:Content_hits 第二张表:Content_tag 结果但不完整 例如:tag_id = 1的Subsrciber6应该具有count(*)= 0 问题答案: 现在,您已经进