Можете да създадете индекс за израз, в този случай least()
и greatest()
:
create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));
Забележка:има една лека странност, ако колоните позволяват NULL
стойности. В този случай една и съща стойност ще бъде разрешена само веднъж, независимо от колоната, в която се намира. Това може да бъде коригирано с по-сложен израз, ако всъщност е проблем.