zoukankan      html  css  js  c++  java
  • SQL Server快速向表中插入200万条数据

    SQL Server快速向表中插入200万条测试数据 

    USE master
    go
    
    IF EXISTS (SELECT  * FROM  sysdatabases WHERE name='DBAdmin' )
    DROP DATABASE DBAdmin
    GO
    
    CREATE DATABASE DBAdmin
    go
    
    USE DBAdmin;
    GO
    /*
    Setup script to create the sample table and fill it with
    sample data.
    */
    
    CREATE TABLE [dbo].[Customers]
    (
        [CustomerID] [INT] IDENTITY(1, 1) NOT NULL,
        [CustomerNumber] [CHAR](8) NULL,
        [CustomerName] [VARCHAR](50) NULL,
        [CustomerCity] [VARCHAR](20) NULL,
        CONSTRAINT [PK_Customers]
            PRIMARY KEY CLUSTERED ([CustomerID] ASC)
    ) ON [PRIMARY];
    GO
    
    TRUNCATE TABLE Customers;
    GO
    
    DBCC DROPCLEANBUFFERS;
    DBCC FREEPROCCACHE;
    GO
    ;
    /*****运用CTE递归插入,速度较快,邀月注***********************/
    WITH Seq (num, CustomerNumber, CustomerName, CustomerCity)
    AS (SELECT 1,
               CAST('00000000' AS CHAR(8)),
               CAST('Customer 0' AS NVARCHAR(50)),
               CAST('X-City' AS NVARCHAR(20))
        UNION ALL
        SELECT num + 1,
               CAST(REPLACE(STR(num, 8), ' ', '0') AS CHAR(8)),
               CAST('Customer ' + STR(num, 8) AS NVARCHAR(50)),
               CAST(CHAR(65 + (num % 26)) + '-City' AS NVARCHAR(20))
        FROM Seq
        WHERE num <= 2000000)
    INSERT INTO Customers
    (
        CustomerNumber,
        CustomerName,
        CustomerCity
    )
    SELECT CustomerNumber,
           CustomerName,
           CustomerCity
    FROM Seq
    OPTION (MAXRECURSION 0);
  • 相关阅读:
    PowerMock详解
    java -agent与Javassist
    gradle_____最后到齐的构建工具
    JVM--参数调优
    提高速度 history 的利用
    shell-异步执行
    redis常用命令与使用分析
    chrome mac 快捷键
    idea的快捷键和操作
    mysql事务以及隔离级别
  • 原文地址:https://www.cnblogs.com/sgxw/p/13889119.html
Copyright © 2011-2022 走看看