0
我有一個usergroups(多對多關係),我有一個困境。我可以檢查用戶是否已經在組中,這將對數據庫進行2次查詢(檢查並插入),或者我可以在user_id和group_id上放置一個唯一索引,並嘗試插入新行,這會導致正確的用戶組(無論如何)如果用戶有這樣的組,則失敗)。數據庫索引檢查插入之前vs唯一索引
問題:哪種方法是對數百萬行的這種表非常大的應用程序更快的性能?
PS。我知道第二種方法可能由於其他原因而不是唯一約束而失敗,並且對於一些人來說這可能看起來是不好的做法。
如果第一種方法是具體的,第二個「可能會失敗」,那麼性能是不是會在任何情況下失敗的問題... – Gavin
(僅在第一種情況下,它會失敗比約束別的東西) – insanebits