Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa penyisipan server SQL sangat lambat?

Anda melakukan setiap penyisipan di dalam transaksinya sendiri.

Memulai dan melakukan transaksi sangat mahal di SQL Server .

Lampirkan semuanya ke dalam satu blok transaksi:

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

Untuk menghasilkan data sampel, Anda dapat menggunakan CTE rekursif :

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)

, yang akan lebih cepat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql Server 2008 geografi Batasan ukuran LineString

  2. Cara Short-Circuit SQL Where Clause

  3. RAND() Contoh di SQL Server

  4. SQL Server 2008:masalah koneksi ODBC

  5. Cara membangun kembali tampilan di SQL Server 2008