我有一個數據上傳功能,可以將一些數據加載到多個表中並進行處理。我希望我的用戶能夠一次啓動兩次上傳(儘管這將是例外情況而非規則),但在那種情況下,我希望在第二次上傳開始之前完成第一次上傳。 (整個過程大約需要20秒)。如何確保SQL Server中的一次性處理?
原因是,如果兩次上載將數據同時存入表中,則會干擾彼此的數據。 (注意:我原本打算用臨時表來實現進程隔離,但是發現我是couldn't do that)。
確保上傳2在上傳1完成之前等待的最佳方式是什麼?我可以創建一個表作爲互斥鎖,並在封裝整個過程的事務中對該表(或已知行)鎖定一個鎖,但有沒有更清晰或更高效的方法來執行此操作?
FFS。我原本將這個問題題爲「什麼是......的最佳方式」,而不是「我怎麼能......」,並得到了這樣一個信息,即這個問題很可能被封閉爲「主觀的」。我們應該如何獲得有關做某事的最佳方式的建議?這不是網站的用途嗎? –
「最好的辦法是......」是主觀的,一種方式比其他方式更好。 「我怎麼能......」並不認爲任何解決方案都比另一個更好。你只需要相信「最好的方式」會比其他任何人獲得更多的選票。 –