zoukankan      html  css  js  c++  java
  • sql中多表查询

    create table Testing
    (
        ID int identity(1,1) primary key nonclustered,
        Data float not null default 0,
        Style smallint not null default 0,
        AddTime DateTime not null default getdate(),
        Data2 float not null default 0,
        Data3 float not null default 0,
        Data4 float not null default 0,
        Data5 float not null default 0,
        Data6 float not null default 0,
        Data7 float not null default 0,
    ) 
    
    declare @j int
    declare @data float
    declare @style smallint
    set @j = 1
    while @j<5000000
        begin
           set @data = floor(rand()*100000.0000)
           set @style = CAST(rand() * 6 as smallint)
           insert into Testing(Data, Style, AddTime) values(@data,@style,getdate())
        set @j = @j + 1
    end 
    
    declare @d datetime
    set @d = getdate()
    declare   @i   int
    
     
    
    -------------------------------------------------------------------------------------
    set   @i=0
    while   @i <20
    begin
        select top 1 * from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        select top 1 * from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        set   @i   =   @i+1
    end
    -------------------------------------------------------------------------------------
    select [语句执行时间(毫秒)]=datediff(ms, @d, getdate())
    print '全部1 语句执行时间(毫秒):' + CONVERT(varchar(30), datediff(ms, @d, getdate()))
     
    
    --=======================================================================================
    set @d = getdate()
    -------------------------------------------------------------------------------------
    set   @i=0
    while   @i <20
    begin
        select top 1 * from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        union all
        select top 1 * from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
    set   @i   =   @i+1
    end
    -------------------------------------------------------------------------------------
    select [语句执行时间(毫秒)]=datediff(ms, @d, getdate())
    print '全部2 语句执行时间(毫秒):' + CONVERT(varchar(30), datediff(ms, @d, getdate())) 
     
    
    --=======================================================================================
    
    set @d = getdate()
    -------------------------------------------------------------------------------------
    set   @i=0
    while   @i <20
    begin
        select top 1 Data from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        select top 1 Data from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        set   @i   =   @i+1
    end
    -------------------------------------------------------------------------------------
    select [语句执行时间(毫秒)]=datediff(ms, @d, getdate())
    print '截取1 语句执行时间(毫秒):' + CONVERT(varchar(30), datediff(ms, @d, getdate()))
     
    
    --=======================================================================================
    
    set @d = getdate()
    -------------------------------------------------------------------------------------
    set   @i=0
    while   @i <20
    begin
        select top 1 Data from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
        union all
        select top 1 Data from Testing with(readpast) where [AddTime]>=(select max([AddTime]) from Testing with(readpast) where [Style]=0)
    set   @i   =   @i+1
    
    end
    
    -------------------------------------------------------------------------------------
    
    select [语句执行时间(毫秒)]=datediff(ms, @d, getdate())
    print '截取2 语句执行时间(毫秒):' + CONVERT(varchar(30), datediff(ms, @d, getdate()))
     
    
    
    结论,查询越少的字段速度越快,多条sql语句比组合成单条要慢
  • 相关阅读:
    龙东平:持续提升个人认知的三大底层逻辑
    【科创人独家】美信拓扑创始人一乐:如何登山不是最重要的问题,山峰才是
    【科创人独家】搜狐快站金庸:有情有义,90后技术创业者的问剑之路
    【科创人独家】军哥手记程军:我的2020,先打个60分吧
    【科创人独家】云风:从创业到招安,自由的游戏玩家+务实的程序员
    C语言--->指针
    位运算(一)
    平方根倒数快速算法
    IntelliJ IDEA 配置《算法》(第四版)
    深度学习(一):Python神经网络——手写数字识别
  • 原文地址:https://www.cnblogs.com/smallidea/p/2575052.html
Copyright © 2011-2022 走看看