zoukankan      html  css  js  c++  java
  • 大数据量分表时 两个表查询比较快的方式

    两人个一模一样的表,按月分表,有时候查询关联到两个表,最容易联想到的方式就是UNION 或者UNION ALL

    但是会发现速度异常的慢。

    经实验 ,最快的方式是使用临时表。

    贴代码

    checkpoint
    dbcc dropcleanbuffers
    dbcc freeproccache
    if object_id(N'#xtest',N'U') is not null
    BEGIN
     drop table #xtest
    end
    CREATE TABLE #xtest(
        
        [diskid] [char](20) NOT NULL CONSTRAINT [DF_tj_Client_clientcount]  DEFAULT ((0)),
        [dateandtime] [smalldatetime] NOT NULL CONSTRAINT [DF_tj_Client_dateandtime]  DEFAULT (getdate()),
        [valid] [bit] NOT NULL CONSTRAINT [DF_tj_Client_valid]  DEFAULT ((0)),
        [channelid] [int] NOT NULL CONSTRAINT [DF_tj_Client_channelid]  DEFAULT ((0)),
        [subchannel] [int] NOT NULL CONSTRAINT [DF_tj_Client_subchannel]  DEFAULT ((0)),
        [ver] [char](5) NULL,
        [publicdate] [char](8) NULL,
        [startcount] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_run]  DEFAULT ((1)),
        [active] [bit] NOT NULL CONSTRAINT [DF_tj_Client_active]  DEFAULT ((0)),
        [usetime] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_windowtime]  DEFAULT ((0)),
        [playtime] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_playtime]  DEFAULT ((0)),
        [playcount] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_playcount]  DEFAULT ((0)),
        [exitcount] [smallint] NOT NULL,
        [topads] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_topads]  DEFAULT ((0)),
        [rightads] [smallint] NOT NULL CONSTRAINT [DF_tj_Client_rightads]  DEFAULT ((0)),
        
        [ip] [char](15) )
    
    GO
    
    insert  into #xtest(dateandtime, startcount, usetime, playtime, playcount, exitcount, topads, rightads) select top 100 dateandtime, startcount, usetime, playtime, playcount, exitcount, topads, rightads from tj_client
    insert  into #xtest(dateandtime, startcount, usetime, playtime, playcount, exitcount, topads, rightads) select top 100 dateandtime, startcount, usetime, playtime, playcount, exitcount, topads, rightads from tj_client_today
    
    select * from #xtest
    
    drop table #xtest
  • 相关阅读:
    splice方法以及如何实现数组去重
    数组的几个重要方法以及如何清空数组
    for-in遍历
    浅谈json和数组的区别
    js实现查找替换关键字的效果
    js实现查找关键字效果
    原生js中大小写转化以及split分割字符串方法
    eclipse没有Web项目和Server选项
    【学习】005 线程池原理分析&锁的深度化
    什么是CPU密集型、IO密集型?
  • 原文地址:https://www.cnblogs.com/xdoudou/p/3293210.html
Copyright © 2011-2022 走看看