我刚刚创建了几个查询,它们带来了相同的数据,但使用了不同的数据。第一个使用子查询,第二个使用自连接策略。检查文档,我找到了 ANALYZE 和 EXPLAIN 命令,现在我试图了解哪个查询更好。这是每个查询的 EXPLAIN ANALYZE 的结果。希望有人能给我一些关于结果的解释,如果可能的话,给我一些参考点,在哪里可以找到更多信息,坦克你。
EXPLAIN ANALYZE
SELECT historicoestatusrequisicion_id, requisicion_id, estatusrequisicion_id,
comentario, fecha_estatus, usuario_id
FROM historicoestatusrequisicion
WHERE requisicion_id IN
(
SELECT requisicion_id FROM historicoestatusrequisicion
WHERE usuario_id = 27 AND estatusrequisicion_id = 1
)
ORDER BY requisicion_id, estatusrequisicion_id;
Run Code Online (Sandbox Code Playgroud)
这是结果
"Sort (cost=240.15..242.42 rows=906 width=58) (actual time=72.470..80.575 rows=3066 loops=1)"
" Sort Key: public.historicoestatusrequisicion.requisicion_id, public.historicoestatusrequisicion.estatusrequisicion_id"
" Sort Method: quicksort Memory: 436kB"
" -> Hash Join (cost=96.44..195.65 rows=906 width=58) (actual time=16.198..46.765 rows=3066 loops=1)"
" Hash Cond: (public.historicoestatusrequisicion.requisicion_id = public.historicoestatusrequisicion.requisicion_id)"
" -> Seq …Run Code Online (Sandbox Code Playgroud) 在我的控制台中执行mvn clean:install -Dmaven.test.skip=true,我的项目运行正常。
但是,如果我尝试编写一个新测试或运行一个现有测试,我会得到 java.lang.ClassNotFoundException。
要在 Eclipse 中修复它,我必须右键单击我的项目 -> 属性 -> Java 编译器 -> 编译器合规性级别,然后更改 Java 版本,以便.class再次生成文件。
- 编辑。 -
感谢您的关注,我的问题是,如何再次重新创建类,以便我可以运行我的测试,而无需右键单击 -> 等 -> 等。
是的,它是 mvn clean install而不是 mvn clean:install