`
53873039oycg
  • 浏览: 841784 次
  • 性别: 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
分享到:
评论

相关推荐

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

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

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

    这份技术交底记录对于指导建筑工程中的模板安装工作具有重要意义,它为施工人员提供了明确的操作指南,有助于保证工程质量和安全,提高施工效率。在实际操作中,必须严格按照交底内容执行,以确保工程的顺利进行。

    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知识范畴。 如果您的目的是寻找关于如何整理非技术类个人资料的方法或工具,我可以提供以下几点...

    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平台下的...

    (可)elecfans-语音记录系统_LABVIEW仿真_labview_语音_

    1. **可视化编程**:图形化编程方式降低了编程难度,使得非专业程序员也能快速上手。 2. **并行处理**:数据流编程模型支持并行处理,提高了程序运行效率。 3. **兼容性**:支持多种硬件接口,方便与其他设备集成。 ...

    ( 《动态WEB技术_JSP_》非笔试考试实施方案

    《动态WEB技术_JSP_》非笔试考试实施方案旨在评估学生在JSP技术方面的综合应用能力,包括B/S架构的开发技能、JSP与Java及数据库的整合能力、系统需求分析和设计能力,以及动态网站的界面设计技巧。考试采取设计项目...

    易语言非钩子键盘记录

    本主题聚焦的是“非钩子键盘记录”技术,这是一种在易语言环境下实现键盘输入监控的方法,不依赖于常规的钩子技术,如SetWindowsHookEx函数。 在Windows操作系统中,钩子是一种系统级的机制,允许程序在系统事件...

    施工管理资料表格-W0616_非压力管通水试验记录

    综上所述,这份“施工管理资料表格-W0616_非压力管通水试验记录”在施工管理中扮演着不可或缺的角色,它不仅是工程技术人员的工作日志,也是质量保证的重要依据。通过详细记录和妥善管理这些数据,可以提升施工项目...

Global site tag (gtag.js) - Google Analytics