これまでに提供してきた限られた情報に基づいて、良いアドバイスをすることは困難です。でも:
...この例には、組み込みのMySQL関数を使用してクエリに一致させることができないグラフベースのデータ型(化学構造)が含まれています。Javaライブラリは、テキストフィールドのクエリとコンテンツを、照合可能なメモリ内オブジェクトに変換します。このロジックをDBレイヤーに保持すると、たとえば、データベース内に結合が保持されます。これは、結合が属している場所のように見えます。少なくとも、それがアイデアです。
これには、MySQLでデータベース側のJavaを使用することはないと思います。代わりに、次のオプションを検討すると思います。
JDOやJPAなどのオブジェクトリレーショナルマッピング(たとえば、Hibernateを使用)を使用して、グラフベースのデータモデルとデータベースが提供するものとの間のマッピングを処理します。必ずしもバックエンドとしてRDBMSを使用する必要はありませんが、これがパフォーマンスの問題であることがすでにわかっている場合を除いて、おそらくここから始めるのが最適です。
データモデルとデータアクセスパターンをもう一度見てください。サーバー側のアプリケーションロジックに頼ることなく、アプリケーションのメインクエリを(効率的な)テーブル結合として実装できるようにする変換を理解できるかどうかを確認してください。
サーバー側のアプリケーションロジックを使用する必要がある場合(パフォーマンス上の理由から!)、RDBMSでサポートされているメカニズムを使用してください。たとえば、OracleではPL / SQLとPostgreSQLを使用しますが、いくつかのオプションがあります。アプリケーションの要件により適した別のRDBMSに切り替える準備をしてください。
私は(個人的に)いくつかのデータベースの実験的なブランチに依存することを避けます:
明らかに、ソフトウェアの長期的な実行可能性が主要な関心事ではない場合は、このアドバイスを無視することを選択できます。しかし、それはおそらく誰かにとって重要です。例:あなたの研究監督者。