Hi!
Die Funktion ordent zuerst die Schlüssel nach ihrer Größe, stellt sicher, dass es kein Selbstbezug wird und dann führt sie das Insert oder Update auf die Unique-indizierte Spalte durch.
Was versprichst du dir von dieser Ordnung?
1 -> 2
1 -> 3
2 -> 3
Für den User 1 wäre das dann einfach. Seine Freunde stehen alle in der zweiten Spalte. Aber schon ab User 2 hat man seine Freunde in beiden Spalten und ihn in der jeweils anderen. Für alle weiteren kann das ebenso passieren.
Wenn es hingegen keine impliziten Rückbezüge geben soll, braucht es auch keine Sortierung. Die wäre dann kontraproduktiv.
Lo!