我有一個解決方案,我插入的行使用GUID而不是身份。 Guid是在c#中生成的。身份插入 - 性能
我有另一種解決方案,其中表,索引等是相同的,但不是的GUID我用的身份,讓SQL的服務器生成它們。
在後面的情況下,我得到一個性能問題....想法?
編輯
我真的很對不起!我回到家中安裝了探查器,看到我正在比較蘋果和梨......從我身邊的一個大錯過。我正在調用不同的SQL。現在持續時間大致相同。
我有一個解決方案,我插入的行使用GUID而不是身份。 Guid是在c#中生成的。身份插入 - 性能
我有另一種解決方案,其中表,索引等是相同的,但不是的GUID我用的身份,讓SQL的服務器生成它們。
在後面的情況下,我得到一個性能問題....想法?
編輯
我真的很對不起!我回到家中安裝了探查器,看到我正在比較蘋果和梨......從我身邊的一個大錯過。我正在調用不同的SQL。現在持續時間大致相同。
我誠實地希望將性能問題與guid作爲身份。當你使用guid時,如果你使用newid()而不是newsequentialid(),你可能會因爲新記錄被插入到表的中間而不是結尾而導致頁面拆分。
爲了幫助您解決您的問題,我們首先需要有關您的配置和性能指標的更多信息。
環境:
性能:
最初的假設/猜測:
您可以進行標識插入時,作爲索引的前導列會看到頁面的競爭不斷增加,但競爭的資源將在B樹的最後一頁。
這當然只是一個理論,直到我們有更多的細節從你的工作。
。我會提供統計數據。如果我在降低指數時得到相同的測量結果,理論是否會失敗? – Daniel 2010-10-26 10:27:08
嘿丹尼爾,你能證明我們所有人的表現問題是什麼意思嗎?你在插入物上看到的IO速度是多少,每秒插入多少個等。 – 2010-10-26 08:01:32
我知道這個問題有點含糊。我無法訪問正確的代碼。我將在今天晚些時候提供統計數據......對不起! – Daniel 2010-10-26 08:08:47
但是,像父行:1000,子行約爲:10000; Guid解決方案爲0.6秒,身份解決方案爲2.5秒。 – Daniel 2010-10-26 08:10:32