У меня есть таблица со структурой атрибут-значение-сущность. В качестве примера, я могу иметь разные страны. У меня могут быть следующие атрибуты: «расположен в», «имеет границу с», «прописной».
Тогда я хочу найти все те страны, которые «расположены в Азии» и «граничат с Россией». Простой способ сделать это - соединить таблицу с самим собой, используя сущности, - это столбец для объединения, а затем использовать where
.
Однако, если у меня есть 20 строк, где Россия в столбце сущностей, то в объединенной таблице у меня будет 20 * 20 = 400 строк с Россией в качестве сущности. И это так для каждой страны. Итак, совместный стол будет огромным.
Не будет ли более эффективно использовать исходную таблицу для извлечения всех стран, расположенных в Азии, затем для извлечения всех стран, граничащих с Россией, и затем использовать те элементы, которые находятся в обоих наборах стран?