Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर इन्सर्ट इतना धीमा क्यों है?

आप प्रत्येक इंसर्ट को उसके अपने लेन-देन के अंदर निष्पादित करते हैं।

लेन-देन शुरू करना और करना बहुत है SQL Server में महंगा ।

सब कुछ एक ही लेन-देन ब्लॉक में संलग्न करें:

declare @i int
set @i = 0
set nocount on
BEGIN TRANSACTION
while @i < 2000
begin
insert into testdb(testcolumn)
values (1)
set @i = @i + 1
end
COMMIT

नमूना डेटा उत्पन्न करने के लिए, आप एक पुनरावर्ती CTE का उपयोग कर सकते हैं :

WITH    q (num) AS
        (
        SELECT  1
        UNION ALL
        SELECT  num + 1
        FROM    q
        WHERE   num < 2000
        )
INSERT
INTO    testdb(testcolumn)
SELECT  1
FROM    q
OPTION (MAXRECURSION 0)

, जो तेज होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी वेबसाइट से URL निकालें?

  2. व्यापार खुफिया विकास स्टूडियो के समाधान एक्सप्लोरर में कोई साझा डेटासेट नहीं

  3. SQL सर्वर:संग्रहीत कार्यविधि परिणाम को उसकी स्कीमा निर्दिष्ट किए बिना तालिका चर में सेट करें

  4. बेहतर प्रदर्शन ट्यूनिंग के लिए 11 SQL सर्वर अनुक्रमणिका सर्वोत्तम अभ्यास

  5. SQL सर्वर में @@MAX_PRECISION क्या है?