`
53873039oycg
  • 浏览: 843743 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[非技术]工作记录_4

 
阅读更多

           接着聊下报表,下面仅为一家之言,你可以当成瞎扯淡,从我写了2,3天的报表sql来看,我发现,(我)在工作中

          (一)报表大部分是是3-4个表关联,2个表关联起来查询的很少,单表查询的更少,所以,每次看到别人在博客了说报表sql查询**数据花了0.0*秒,我就发现别人大部分是单表查询,再加上索引,查询条件使用索引,速度要多快有多快

 

          而我遇到的情况是,3-4个表一关联,在数据少的情况下,(单表最多6-7万),速度很快,表的记录一多,速度直线下降,什么,加上索引,真实情况是,(1)表不是你建的,人家建表的时候为方便使用已经建了几个索引,你还想建索引,问DBA同不同意

 

         (2)你以为建了索引就很快,你建了索引,你能用得上吗?如果说建了索引就是方便用的,你建了索引,用户知道吗?你以为用户选择条件会知道那个条件是索引?我遇到过的情况是,为了加快查询速度,我在前台限制了用户必须选我的索引条件,结果就是用户不买账,凭什么要限制,我是管理员,我就是要看所有的下属门店,你限制了,我就得一个个点,漏了怎么办?就算不漏,这么多下属门店,什么时候才能点完,一句话,系统不好用,改

  

        (3)用户一般会偷懒,比如报表有很多条件可以选择,你千辛万苦说服人家千万要选择这个条件才能查询得更快,但是结果就是,用户选择的最多的就是只选择一个时间,然后直接点查询,然后,你哭了,索引建了这么多,单凭一个时间来过滤根本快不了多少

 

       (4)最怕的就是那种就算用户选了几个条件也走不了索引的,这种情况就是表索引建太多了,不能再建索引了,而要查询的偏偏要按那个没有索引的字段来过滤,这种情况很头疼

 

       (二)刚说了报表很少有单表查询的,单表查询要什么报表,直接多写几行代码不就得了。再来说说用户,俗话说顾客是上帝,上帝有什么需求你就得做。工作中由于一个组织下面的下属门店太多,直接使用select标签根本放不下,所以使用了那种既可以下拉选择,也可以输入关键字过滤的控件,好像叫combox,名字忘记了。一开始,用户更不不会用,教了很多次才教会用户怎么使用关键字过滤,然后用户又有意见了:(1)选择框太慢,这是因为下属组织太多,(2)输入关键字太麻烦,下属组织几十个,我就要输入几十次,麻烦,遇到这种情况,直接跪了,如张三和李四同属于大BOSS。大BOSS下面有很多小弟。张三管一部分小弟,李四管一部分小弟。小弟之间没有任何关系,这时候没有办法区分那些小弟是归张三管的,那些小弟归李四管。

 

      (三)上面的需求说什么也做不了,那退而求其次,品牌下面的机型不也是可以输入可以选择吗。我要求把常用的几个品牌,品牌下面常用的几个机型放在最前面,方便使用,你以为简单的使用order by 品牌名字 desc 就可以搞定吗?错,品牌之间不是按常用来插入的,说不定最常用的在最后面呢。这时候得这样写了

     

--按品牌热度排序
select * from t_brand order by decode(brand_name,'苹果',6,'三星',5,'天语',4,'海信',3,'华为',2,'小米',1,1/brand_id) desc

  

    或者采用配置表

    

with tmp_t(brand_name,pr) as(
select '苹果',6 from dual union all
select '三星',5 from dual union all
select '天语',4 from dual union all
select '海信',3 from dual union all
select '华为',2 from dual union all
select '小米',1 from dual 
)
select pb.* from t_brand pb,tmp_t t order by decode(pb.brand_name,t.brand_name,t.pr,1/pb.brand_id) desc

   什么?系统框架不支持这种写法,那你用jdbc写吧,不就多写几行代码吗

 

      (四)人家的报表都是0.0*秒就查询到记录,最慢的也就3-4秒,我的报表多少秒超时呢?说出来忏愧,报表超时时间120秒,你没听错,就是120秒,用户提出什么要求,一句话,做,前提是你得多等几分钟,几分钟小事,只要满足我的需求就行。(一般都是一分钟内查询出来的,太慢了的化会定时沉淀数据。),几十秒都是小事,工作中遇到上传Excel解析到数据库的,等上10分钟才出结果很正常。工作中数据校验很少是单表的,都是先查询这个表看是否满足条件,满足继续换一个表校验,一轮下来,校验4,5个表很正常。

 

        

      不写了

      全文完

     

    

      

0
0
分享到:
评论

相关推荐

    建筑工程用的技术交底记录_工程施工土建监理资料建筑监理工作规划方案报告_技术交底.doc

    本文档“建筑工程用的技术交底记录_工程施工土建监理资料建筑监理工作规划方案报告_技术交底.doc”将深入探讨土建工程中模板安装的技术细节,涉及施工准备、材质要求、工器具选择、操作工艺以及模板拆除等多个关键...

    hechengjilu.rar_worthc7x_共中心点_合成地震记录_地震记录_地震记录合成

    合成地震记录是地震勘探领域中的一个重要技术,它主要用于提高地震数据的质量和解析能力。在"hechengjilu.rar_worthc7x_共中心点_合成地震记录_地震记录_地震记录合成"这个压缩包中,我们关注的核心概念是"共中心点...

    软件需求调研记录_模板

    从二.1到二.4,通过一系列精心设计的问题,团队能够了解用户的工作流程、主要职责、日常信息处理量及信息传递对象等关键信息。这些信息是确定软件主要功能和用户界面设计的重要参考。通过细致的调研,我们可以更精准...

    VC.rar_VC 键盘_VC 键盘记录_按键 记录_按键记录

    然而,这里需要特别强调的是,键盘记录程序的开发和使用必须得到用户的许可,特别是在非公开或非授权的情况下,记录键盘输入可能侵犯用户的隐私权,这在道德和法律上都是不允许的。因此,在开发键盘记录功能时,...

    HKproc.dcu.rar_delphi 键盘记录_keylogger_keylogger delphi

    从标签“delphi_键盘记录 keylogger keylogger_delphi”中我们可以进一步理解,这个项目专注于Delphi平台下的键盘记录技术,keylogger是其核心功能。Delphi是一个强大的面向对象的 Pascal 编程环境,因其快速编译和...

    维修工作记录表_DOC.doc

    通过【维修工作记录表】的规范使用,不仅可以提高设备的运行效率,还能帮助管理层优化维护策略,减少非计划停机时间,降低维修成本,并且能够对工作人员的技能和效率进行有效评估,从而提升整体的设备管理水平。...

    record.zip_地震_地震 反演_地震数据_地震记录_地震记录数据

    为了更好地理解和预测地震,科学家们通过收集、分析地震记录数据来研究地震活动,其中地震反演是关键的技术手段。本文将详细探讨地震记录数据及其在地震反演中的应用。 地震记录数据是地震发生时,地震波在地壳中...

    程序及结果_influencecja_Windows编程_地震记录_地震_seismic_

    4. **反应谱计算**:根据地震动加速度记录,应用适当的工程公式和标准(如美国的NEHRP或欧洲的Eurocode)来计算反应谱。 5. **可视化**:Windows编程可以利用各种图形库(如Matplotlib或Microsoft's Chart Controls...

    matlab Ricker.rar_desertmrp_matlab 雷克子波_matlab反射波_地震记录_雷克子波

    它是一个周期性、非正弦的波动形状,其形式为一个二次多项式乘以指数函数,表达式为 \( W(t) = (1 - 2(\pi f_0 t)^2)e^{-(\pi f_0 t)^2} \),其中 \( f_0 \) 是中心频率,\( t \) 是时间。雷克子波的形状可以根据...

    rk.zip_合成地震记录_地震子波

    总结来说,"rk.zip"压缩包中的内容是地震勘探领域的核心工具,涉及了地震子波特别是雷克子波的使用,以及合成地震记录的技术。这些知识对于理解和解析地震数据,进而揭示地下的地质构造和潜在的矿产资源具有极其重要...

    RSPM09_v2_RSPm09_匹配设计谱生成时域调整记录_V2_seismic_源码.rar.rar

    "V2_seismic"再次强调了这是地震领域的第二版,而"源码"表明包含的是编程语言编写的原始代码,而非可执行文件。 在描述中,同样重复了标题的信息,没有提供额外的细节,但可以理解为这个压缩包包含的源代码是用于...

    监理交底记录_工程施工土建监理资料建筑监理工作规划方案报告_监理交底.doc

    【监理交底记录】是建筑工程中的一项重要环节,旨在明确监理单位、建设单位和施工单位各自的责任和工作内容,确保工程质量和安全。以下是基于标题、描述和部分内容的关键知识点: 1. **监理依据**:监理工作的开展...

    让人震惊的10个非技术人员无法理解的软件概念

    这需要开发者掌握多种前端技术,并深入理解浏览器的工作原理,而非技术人员往往难以把握这些技术细节。 ### 3. 数据存储与管理 数据存储与管理是软件开发中的核心问题之一。如何高效、安全地存储数据,以及如何在...

    DirectX_Repair_4.rar

    4. **用户界面**:软件可能具有直观易用的用户界面,使得非技术用户也能轻松操作,进行系统诊断和修复。 5. **安全性**:作为修复工具,DirectX_Repair_4应当确保其下载和安装的DirectX组件来自官方源,避免了潜在...

    个人整理资料,关于非技术方面的。

    通常,非技术类的个人整理资料可能包括日程管理、笔记、报告、个人发展计划等,但这些内容并不符合我们在这里讨论的IT知识范畴。 如果您的目的是寻找关于如何整理非技术类个人资料的方法或工具,我可以提供以下几点...

    技术_文化_制度_非物质文化遗产数字化研究述评实用.pdf

    例如,数字摄影和三维信息获取技术能够将非物质文化遗产的形态精确记录和还原,而虚拟现实技术则能够在沉浸式环境中重现历史场景,增强公众的参与感与体验感。多媒体与宽带网络技术的结合,则大大提升了非物质文化...

    DiscordancyTest_非线性_多站点两变量线性协矩_非一致性分析_源码

    在IT领域,非线性分析和多变量统计技术在各个科学和工程学科中都有广泛应用,尤其是在数据挖掘、信号处理和机器学习中。本压缩包文件"DiscordancyTest_非线性_多站点两变量线性协矩_非一致性分析_源码"提供了一个用...

    win7_gh0st.rar_gh0st vc_gh0st开_w7非gh_远控_远控 win7

    "w7非gh"标签可能是指gh0st经过特殊优化,能在不支持的Win7环境下也能正常工作。"gh0st开"可能指的是启动或配置gh0st的过程,这通常涉及设置服务器端和客户端,确保网络连接和通信的稳定。 压缩包中的文件包括: 1....

    exe4j_windows_4_4_1

    在IT行业中,有时我们需要将Java应用程序转换为Windows操作系统下的可执行文件(.exe),以便于非技术人员能够方便地运行和分发。这时,exe4j就派上了用场。exe4j是一个专门用于将Java JAR文件转换为Windows平台下的...

Global site tag (gtag.js) - Google Analytics