SELECT TOP 1000000
id = identity(int,1,1) 
INTO # FROM syscolumns a, syscolumns b , syscolumns c

解决方案 »

  1.   

    SELECT TOP 1000000
    id = identity(int,1,1) 
    INTO # FROM syscolumns a, syscolumns b , syscolumns cselect * from # order by iddrop table #/*
    id          
    ----------- 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10...
    1000000
    */
      

  2.   

    with 
    xwj
    as
    (select id=1 union all select id=1),
    xwj2
    as
    (select a.id from xwj a cross join xwj b),
    xwj3
    as
    (select a.id from xwj2 a cross join xwj2 b),
    xwj4
    as
    (select a.id from xwj3 a cross join xwj3 b),
    xwj5
    as
    (select a.id from xwj4 a cross join xwj4 b),
    xwj6
    as
    (select px=row_number()over(order by a.id) from xwj5 a cross join xwj4 b)
    select * from xwj6 where px<10000004秒钟生成 1000万行 2秒钟 500万行  0秒100万行
      

  3.   

    with 
    xwj 
    as 
    (select id=1 union all select id=1), 
    xwj2 
    as 
    (select a.id from xwj a cross join xwj b), 
    xwj3 
    as 
    (select a.id from xwj2 a cross join xwj2 b), 
    xwj4 
    as 
    (select a.id from xwj3 a cross join xwj3 b), 
    xwj5 
    as 
    (select a.id from xwj4 a cross join xwj4 b), 
    xwj6 
    as 
    (select px=row_number()over(order by a.id) from xwj5 a cross join xwj4 b) 
    select * from xwj6 where px <1000000 看这个方法 着才是 dba写的方法。csdn水好浅