1

フィルタリングクラスで、私は決めました。機能上の理由から、最初にテーブルからすべてのデータを取得してから、クラス自体を使用してこの結果をフィルタリングします。テーブルのすべてのデータを表すオブジェクトのリストがあります。そして、この結果をフィルタリングして jTable に追加する最も迅速な、またはより効率的な方法を知りたいです。

私が探しているのは、SQL の「Like」命令を Java プログラミングで模倣することです。

4

3 に答える 3

2

DBMS は、フィルタリングとソートを高速化するインデックスを持つことができます。また、主要な DBMS には、成熟した完全に開発されたアルゴリズムが確実に備わっています。そのため、SQL でフィルタリングとソートを行う方がはるかに効率的です。

一方、検索結果を絞り込む場合は、DB に対して最初の反復 (または数回の反復) を行い、Java コレクション API を介して後続の反復を行うのが合理的です。ただし、ベースの結果セット (SQL 経由でフェッチされたもの) がまだ関連しているかどうかを追跡する必要があります。

とにかく、インターネット経由で DB から 100,000 のレコードを取得して、そのうちの 50 を選択するだけではうまくいきません。

于 2012-06-21T19:39:59.080 に答える
1

LIKEすべてのオブジェクトをループする必要があることを模倣するには、対象のフィールドでString.matchなどを使用して、フィールドがフィルタリング基準に一致するかどうかを確認する必要があります。

Robin が言ったように、データベースからすべてを Java に引き出して Java でフィルタリングを行うよりも、SQL でこれを行う方が効率的です。

于 2012-06-21T19:41:25.773 に答える
1

SQL は常に JAVA よりもフィルタリングが高速です。

必要なデータを収集します。それ以上でもそれ以下でもありません。

于 2012-06-21T19:36:18.997 に答える