这就是戴星号的高手的风范?  靠,真是令人失望得很。yeaker (易克方笑) ,好样的,继续问,不要怕,三年后这些戴星号的说不准会给你打工!rwq_(风云浪子) ,好久请你喝酒,你在哪儿?

解决方案 »

  1.   

    回复人: nononono(null,null) (  ) 信誉:100  2002-4-5 0:00:29  得分:0  
     
     
      对于SQL Server, 你插入的顺序与实际的物理存储顺序不一定是一致的。
    比如:create table1 table1 (fd1 int)
    insert into table1 (fd1) values (1)
    insert into table1 (fd1) values (2)
    insert into table1 (fd1) values (3)
    delete from table1 where fd1=2
    insert into table1 (fd1) values (4)
    insert into table1 (fd1) values (5)
    select fd1 from table1我们假设没有order by的select可以得到记录的物理顺序, 可实际的结果可能是这样:fd1         
    ----------- 
    1
    4
    3
    5(4 row(s) affected)并不是记录插入的顺序 1,3,4,5。你试试上面的语句,看看时不是与我的结果一样?SQL Server在处理记录的存储时与Foxbase/Foxpro之类的文件型数据表不同。使用它绝对不应该考虑它的物理存储顺序,否则会给你的软件留下BUG,即使你现在看起来可以得到它的物理存储顺序,但SQL Server的下一个版本就可能会有变化,因为微软好像没有这方面的承诺。呵呵你还是要在SELECT的语句中用ORDER BY来指定ORDER。 
     
     
    Top 
      

  2.   

    谢谢各位!我知道了,要建立索引SQL SERVER中用的物理储存是随机存的,和我个感官上看到的不一样
    i see you