Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何快速获得计数结果?_Java_Mysql - Fatal编程技术网

Java 如何快速获得计数结果?

Java 如何快速获得计数结果?,java,mysql,Java,Mysql,我有这个疑问 select count(1) from customer inner join supplier on(c_nationkey = s_nationkey); 但是仅仅在MySQL中需要很长时间 如何提高她的表现?您可以尝试添加以下两个指标之一。对于第一个战略: CREATE INDEX c_idx ON customer (c_nationkey); CREATE INDEX s_idx ON supplier (s_nationkey); 或者对于第二种策略:

我有这个疑问

select count(1) from customer 
    inner join supplier on(c_nationkey = s_nationkey);
但是仅仅在MySQL中需要很长时间


如何提高她的表现?

您可以尝试添加以下两个指标之一。对于第一个战略:

CREATE INDEX c_idx ON customer (c_nationkey);
CREATE INDEX s_idx ON supplier (s_nationkey);
或者对于第二种策略:

CREATE INDEX c_idx ON customer (c_nationkey);
CREATE INDEX s_idx ON supplier (s_nationkey);

如果使用这些索引中的任何一个,都会加快连接过程。由于您正在执行计数查询,因此无法避免对一个或另一个表进行完整的表扫描。但是连接是可以优化的。

在c_nationkey和s_nationkey上定义索引我已经创建了索引,但它并没有显著提高性能。您至少需要一次完整的表扫描,这是没有办法的。因此,如果表很大,查询可能需要一些时间。