標(biāo)題有點(diǎn)拗口,來(lái)源于一個(gè)開(kāi)發(fā)人員遇到的實(shí)際問(wèn)題
  先拋出問(wèn)題:一個(gè)查詢沒(méi)有明確指定排序方式,那么,第二次執(zhí)行這個(gè)同樣的查詢的時(shí)候,查詢結(jié)果會(huì)不會(huì)與第一次的查詢結(jié)果排序方式完全一樣?
  答案是不確定的,兩個(gè)完全一樣的查詢,結(jié)果也完全一樣,兩次(多次)查詢結(jié)果的排序方式有可能一致,有可能不一致。
  如果不一致,又是什么原因?qū)е峦瑯拥牟樵兡J(rèn)排序方式不一致?
  以下簡(jiǎn)單分析幾種情況,說(shuō)明為什么查詢同樣的查詢會(huì)出現(xiàn)默認(rèn)排序結(jié)果不一樣的情況。當(dāng)然對(duì)于該問(wèn)題,包含但不限于以下幾種情況。

 

場(chǎng)景1:并行查詢導(dǎo)致默認(rèn)結(jié)果集的排序是隨機(jī)的

按照慣例,先造一個(gè)表供測(cè)試

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開(kāi)發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

create table TestDefaultOrder1
(
    id int identity(1,1) primary key,
    col2 varchar(50),
    col3 varchar(50),
    col4 varchar(50),
    col5 varchar(50),
    col6 varchar(50),
    col7 varchar(50),
    col8 varchar(50),
    CreateDate Datetime)godeclare @i int =0 begin tran
    while @i<500000
    begin
        insert into TestDefaultOrder1 values (NEWID(),NEWID(),NEWID(),NEWID(),NEWID(),NEWID(),NEWID(),GETDATE()-RAND()*500)        set @i=@i+1
    endcommit

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式