多個INSERT語句與具有多個VALUES的單個INSERT我在使用1000個INSERT語句之間運行性能比較:INSERT INTO T_TESTS (TestId, FirstName, LastName, Age)
VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0)INSERT INTO T_TESTS (TestId, FirstName, LastName, Age)
VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1)...INSERT INTO T_TESTS (TestId, FirstName, LastName, Age)
VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999)..versus使用具有1000個值的單個INSERT語句:INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('db72b358-e9b5-4101-8d11-7d7ea3a0ae7d', 'First 0', 'Last 0', 0),('6a4874ab-b6a3-4aa4-8ed4-a167ab21dd3d', 'First 1', 'Last 1', 1),...('9d7f2a58-7e57-4ed4-ba54-5e9e335fb56c', 'First 999', 'Last 999', 999)令我驚訝的是,結(jié)果與我的想法相反:1000 INSERT語句:290毫秒。1個帶有1000個值的INSERT語句:2800毫秒。測試直接在MSSQL Management Studio中執(zhí)行,SQL Server Profiler用于測量(我使用SqlClient從C#代碼運行它得到了類似的結(jié)果,考慮到所有DAL層往返,這更令人驚訝)這可以合理或以某種方式解釋?怎么來的,在10次(!)一個所謂更快的方法將導(dǎo)致糟糕的表現(xiàn)?謝謝。
多個INSERT語句與具有多個VALUES的單個INSERT
鳳凰求蠱
2019-08-12 15:46:32