Ini adalah pertanyaan yang di permukaan terlihat bagus, tetapi memiliki implikasi.
Pertama-tama, Anda perlu memastikan bahwa setelah Anda membaca status relasi tersebut, tidak ada yang dapat mengubahnya, jadi jelas Anda perlu menggunakan transaksi dan mengunci baris yang dimaksud.
Maka Anda perlu cara untuk mencari tahu hubungan apa yang harus diperiksa, seperti yang saya lihat di komentar di sini pertanyaan Anda tentang apa yang terjadi jika seseorang kemudian menambahkan hubungan baru. Jadi, Anda perlu mengkueri skema, atau mungkin membuat kode ini secara otomatis dari skema, sehingga mekanisme deteksi hanya perlu dijalankan setiap kali Anda mengubah skema.
Sekarang, apakah pengecualian yang Anda dapatkan benar-benar tampak mahal setelah cobaan ini?