मुझे अंत में काम करने के लिए मेरे सम्मिलित बैच मिल गया है और अब मैं बैच के आकार के साथ झुका रहा हूं, लेकिन मुझे 50 के मूल्य और 10000 के मूल्य के बीच प्रदर्शन में कोई अंतर नहीं दिख रहा है। ऐसा लगता है मेरे लिए अजीब है, लेकिन मुझे नहीं पता कि दृश्य के पीछे क्या हो रहा है, इसलिए यह सामान्य व्यवहार हो सकता है।मैं DataAdapter.UpdateBatchSize को "इष्टतम" मान पर कैसे सेट करूं?
मैं एक टेबल में 160k पंक्तियां डाल रहा हूं और मेरे परीक्षण मूल्यों के लिए औसत समय 115 +/- 2 सेकंड है। बैचिंग के बिना 210 सेकंड लगते हैं, इसलिए मैं सुधार से काफी संतुष्ट हूं। लक्ष्य तालिका है:
CREATE TABLE [dbo].[p_DataIdeas](
[wave] [int] NOT NULL,
[idnumber] [int] NOT NULL,
[ideaID] [int] NOT NULL,
[haveSeen] [bit] NOT NULL CONSTRAINT [DF_p_DataIdeas_haveSeen] DEFAULT ((0)),
CONSTRAINT [PK_p_DataIdeas] PRIMARY KEY CLUSTERED
(
[wave] ASC,
[idnumber] ASC,
[ideaID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
मैं What to look for when setting UpdateBatchSize पढ़ सकते हैं और जवाब बस विभिन्न मूल्यों की एक जोड़ी का परीक्षण किया गया था। मैं इसे समझ सकता हूं, लेकिन यदि आप टेबल डिज़ाइन, एसक्यूएल प्रश्न और डेटा को सम्मिलित करने वाले डेटा को जानते हैं, तो गणना करना संभव नहीं है या कम से कम एक अच्छा मूल्य निर्धारित करना संभव नहीं है?
क्या वहां कोई सर्वोत्तम अभ्यास है जो कोई सिफारिश कर सकता है?