关于数据统计时的效率

近两天时间一直在更改项目中的一个统计部分,对统计效率的一些看法写在这里,作为一个记录

1、统计有时遇到的是同一张表,不同的查询条件,如此一来不得不写很多条统计语句,以此来得到结果。首先:要保证数据的正确性,不能为了效率而牺牲了准确性。我的办法是把需要查询的内容一块一块的查出来,把这一块一块的内容作为一张临时表,然后再用链式查询来进行整理

2、尽可能减少统计模块内的链接查询,经验证模块内的链接查询减少一些查询的效率可以调高很多

如:
select t.sid,t.qymc,t1.dl_count,t2.qy_ybyh_count from
(
select sid,qymc from base_qyxx
where (ISDELETED= 0 or ISDELETEDis null)
and ID = ‘000100090002‘
) t
left join
(
select userid,count(1) dl_count
from sys_log_login l
where l.logindate >= to_date(‘20140501‘, ‘yyyyMMdd‘)
and l.logindate <= to_date(‘20140731‘, ‘yyyyMMdd‘)
group by userid
) t1
on t.sid=t1.userid
left join
(
select qyid,count(1) qy_ybyh_count
from hidden_danger_ybyhxx ybyh
where (ISDELETEDis null or ISDELETED= 0)
and (zfjcid is null)
and ybyh.cjsj >= to_date(‘20140501‘, ‘yyyyMMdd‘)
and ybyh.cjsj <= to_date(‘20140731‘, ‘yyyyMMdd‘)
group by qyid
) t2
on t.sid = t2.qyid
时间: 2024-08-24 19:07:11

关于数据统计时的效率的相关文章

oracle 性能优化操作七:索引提高数据分布不均匀时查询效率

索引的选择性低,但数据的值分布差异很大时,仍然可以利用索引提高效率. A.数据分布不均匀的特殊情况下,选择性不高的索引也要创建. 表ServiceInfo中数据量很大,假设有一百万行,其中有一个字段DisposalCourseFlag,取值范围为枚举值:[0,1,2,3,4,5,6,7]. 按照前面说的索引建立的规则,"选择性不高的字段不应该建立索引", 该字段只有8种取值,索引值的重复率很高,索引选择性明显很低,因此不建索引. 然而,由于该字段上数据值的分布情况非常特殊,具体如下表:

常用的数据统计Sql 总结(转)

转:http://www.cnblogs.com/zhangweizhong/p/5577842.html 最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与使用. 所以,分享几个数据统计时常用的sql 语句总结: 1. 统计各个条件下的数据 select BatchId,sum(CardSum) 总金额, sum(case when Status=1 then CardSum else 0 end) as 已使用, sum(case when Stat

常用的数据统计Sql 总结

最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与使用. 所以,分享几个数据统计时常用的sql 语句总结: 1. 统计各个条件下的数据 select BatchId,sum(CardSum) 总金额, sum(case when Status=1 then CardSum else 0 end) as 已使用, sum(case when Status=2 then CardSum else 0 end) as 已冻结 from GiftCard gro

典型问题分析4—StaticLinkList中数据元素删除时的效率问题

StaticLinkList中数据元素删除时的效率问题 void destroy(Node* pn) { SNode* space = reinterpret_cast<SNode*>(m_space); SNode* psn = dynamic_cast<SNode*>(pn);//从父类指针,转换为子类指针,直接调用dynameic_cast for(int i=0; i<N; i++) { if(psn == (space + i)) { m_used[i] = 0;

移动开发必知必会的六大数据统计平台

数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 先说说国内的三家,从友盟谈起 1.友盟 友盟,现在应该说是友盟+,自打阿里一口气收购了友盟.缔元信.CNZZ后便成立了友盟+,可谓是把中国互联网老牌的数据统计平台们进行了很好的整合,开发中最长用到的也就是友盟+. 友盟+支持移动应用统计和分析流量来源.内容使用.用户属性和行为数据,以便运维人员利用数据进行产品.运营.推广

Asp.net管理信息系统中数据统计功能的实现

数据统计是每个系统中必备的功能,在给领导汇报统计数据,工作中需要的进展数据时非常有用. 在我看来,一个统计的模块应该实现以下功能: 能够将常用的查询的统计结果显示出来: 显示的结果可以是表格形式,也可以是图形形式,如果是图形的话能够以多种形式显示(柱状图.折线图.饼图.雷达图.堆叠柱状图等): 统计查询的结果,点击数字或者百分比能够显示详细的数据: 能够自由组合查询条件.筛选条件.分组条件.排序等: 统计结果最好有个实时预览: 查询统计能够保存,以便下次能直接调用并显示统计查询的结果: 对于保存

在Sqlserver下巧用行列转换日期的数据统计

在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法.常应用于统计网站的PV流量.合同项目中月收入等业务场景中.在文中我分享下最近做过的统计小案例,和大家互相学习下:) 背景 合同中行项目按月收入的统计 1.业务逻辑及需求  1.1 表业务逻辑 合同是公司间互相签署的法律契约,一份合同从诞生起,就开始流转于公司的各个部门,最核心的还是盈亏的数值.盈亏是

大数据量分页存储过程效率测试附代码

在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存:2G 软件:Windows server 2003    +   Sql server 2005 OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 按 Ctrl+C 复制代码1create database data_Test --创建数据库data_Test 2GO 3use data

Hbase在数据统计中的应用心得

1. 数据统计的需求 互联网上对于数据的统计,一个重要的应用就是对网站站点数据的统计,例如CNZZ站长统计.百度统计.Google Analytics.量子恒道统计等等. 网站站点统计工具无外乎有以下一些功能: 1)网站流量统计:包括PV.UV.IP等指标,这些统计指标可以以趋势图的形式展示出来,如最近一周.最近一个月等. 2)IP来源信息统计:记录各个来源IP下的访问PV数. 3)访问来源分析:记录访客是从哪些途径到达本网站的. 4)搜索引擎及搜索关键词分析:对于各个指定搜索引擎带来访问PV的