entity-attribute-value構造のテーブルがあります。例として、エンティティとして私はさまざまな国を持つことができます。私は次の属性を持つことができます:「に位置する」、「と国境を接している」、「首都」。
次に、「アジアに位置し」、「ロシアと国境を接している」国をすべて見つけたいと思います。これを行う簡単な方法は、エンティティを使用してテーブルをそれ自体と結合することです。これは、結合してからを使用するための列ですwhere
。
ただし、エンティティ列にロシアが含まれる20行がある場合、ジョイントテーブルよりも、ロシアをエンティティとして20 * 20=400行になります。そして、それはすべての国に当てはまります。だから、ジョイントテーブルは巨大になるでしょう。
元の表を使用してアジアにあるすべての国を抽出し、次にロシアと国境を接しているすべての国を抽出してから、両方の国にある要素を使用する方が効率的ではないでしょうか。