1
使用c#和mssql 2008 R2,我有一個服務,插入一個用戶到系統中,用戶有一個唯一的編號分配給他們,就像a1,b1或c1,這將增加用戶插入,但插入之前,我有檢查是否有任何以前的唯一號碼可用(在刪除用戶時可以刪除唯一的號碼)。例如,如果數據庫中有5個用戶,則保留a1,...,a5,如果您刪除可以說第3個用戶,則a3將可用於下一個用戶插入。這可以很容易地完成,但因爲我必須讀取每個插入的可用唯一編號,所以我很困惑在插入前使用插入觸發器還是使用應用程序代碼更好?數據庫觸發器或應用程序代碼?我應該在這種情況下使用哪一個?
在此先感謝
感謝您的回覆Szymon,我不要求的算法,但什麼我問的是這有任何性能差異,如果我使用觸發器或存儲過程,而不是代碼並將所有工作都放在數據庫本身上,而不是通過代碼? +1提到鎖。 –
謝謝。我猜不管你使用哪一個你將不得不運行一個類似的代碼來獲得正確的ID。我會親自爲代碼/存儲過程,因爲它使整個事情變得更加複雜。 – Szymon
是的你說的代碼是真的,我想知道在性能的情況下,雖然它沒有在這裏有任何明顯的區別,但作爲一個最佳實踐,我想知道:)謝謝。 –