2

私はJavarmiアプリケーションのパフォーマンス調整に取り組んでおり、OQLを使用して以下のクエリを実行しています。

select tpoint.host.value.toString() from sun.rmi.transport.tcp.TCPEndpoint tpoint
where (tpoint.host!=null && tpoint.csf!=null)

上記のクエリは、いくつかのレコードの後に​​このエラーが続くJVisualVMで正常にコンパイルされます:-

結果が多すぎます。クエリを絞り込んでください。

同じクエリをEclipse-MATで実行できません。

&& tpoint.csf!=nullから削除すると、 Eclipse-MATabove queryで正常にコンパイルされます。また、JVisualVMと比較して非常に短い時間で、すべてのレコードが表示されます。

&& operatorEclipse-MATで使用するための正しい構文を見つけることができません。

Eclipse-MATの適切なOQL参照を見つけるのに苦労しているので、適切な参照を高く評価します。

前もって感謝します...

4

2 に答える 2

2

&&演算子の代わりに、''を使用して複合クエリを実行できます。MATは'および''または''ではなく'&&''||'のみをサポートしているようです '^'。

以下は、MATで機能するOQLクエリです。

SELECT tpoint.host.value.toString() FROM sun.rmi.transport.tcp.TCPEndpoint tpoint WHERE ((tpoint.host != null) and (tpoint.csf != null))
于 2012-07-19T05:09:29.707 に答える
1

MAT-EclipseOQLとJVisualVMOQLの間には構文上の違いがあります。

この回答を書いている時点では、MAT-Eclipseと比較して、JVisualVM OQL(AFAIK)でより複雑なクエリを書くことができます。

唯一の欠点は、JViualVMクエリの応答時間が非常に長く、応答にすべてのレコードが含まれていないことです。

MAT開発者がヘルプコンテンツでMATOQLクエリ(groupby、subquery、文字列操作演算子)の優れたドキュメントを提供する場合は素晴らしいでしょう。

于 2012-06-27T05:28:47.403 に答える