简单统计类页面后台设计

最近做了一个概览页的功能,需求和前提如下:

数据已经做了分库分表,量大,B表为A表的下级数据

1. 需要统计按照不同维度A表内和B表内的数据总量

2. 需要分别统计A/B两个表在给出的某段日期区间内的总量和增量数据统计

需求看似十分简单,一开始完全无脑的实现

对于1,就是多线程分别统计然后合并加载到缓存

对于2,也是多线程分表统计然后加载到缓存,缓存为查询的开始结束日期

结果?慢的令人发指,应届生可能都做不了这么差

这里有什么问题?

1. 首先这里我忽略了两个表之间的关系,在第一个表中隐含了第二个表的统计数据,但是测试环境数据不准,导致我没用这个特性,后来经过咨询别人知道线上没有这个问题,可以直接用这个现有信息做统计  --- 及时沟通很重要

2. 数据是死的人是活的,当天之外的历史数据永远都不会变,为什么还要每次查? ---  通过一个任务触发历史数据加载到Mongo数据库,之后每天1点加载前一天的变化数据到Mongo,这样当天之外的数据完全不需要跟业务表打交道

3. 对于业务表查询的SQL语句,如果是包含>= and <=之类的,性能远低于=,切换思路后,所有的数据查询都变为了某一天的数据查询,本身的SQL性能也得到了提升

4. 对于包含当天的数据查询,考虑到数据库分库分表时已经是有序的,所以可以利用这个特性当天数据从最后一张开始查,这样顶多查两张表就没有数据了,减少了查询表的数量,提升了查询效率

5. 提升用户体验,利用后台定时任务每隔几分钟触发一个更新缓存的任务,这样,对于页面使用者体验就会更好,基本没有等待 

通过这个简单的任务过程,会发现自己在开发中还是缺少思考,技术永远是为业务服务

转载于:https://www.cnblogs.com/it-worker365/p/9989329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Element UI是一款基于Vue.js的组件库,提供了丰富易用的UI组件,可以快速构建出具有统一风格的后台界面。而MVC则是一种软件设计模式,通过将应用程序分为模型(Model)、视图(View)和控制器(Controller)三层来实现模块化和解耦。 在单页面应用的后台开发中,我们可以使用Element UI提供的各种组件来构建后台管理界面,实现快速开发和美观的用户界面。例如,可以使用Element UI的格组件来显示和编辑后台数据,使用单组件来收集和验证用户输入,使用对话框组件来进行弹窗交互等。 在MVC的设计模式下,我们可以将后台应用分为模型、视图和控制器三层来进行开发。模型负责处理业务逻辑和数据操作,例如从数据库中读取数据、进行查询和保存等;视图负责呈现用户界面,使用Element UI的组件来实现页面的展示和交互;控制器负责处理用户的请求和业务逻辑的流程控制,将用户的操作通过路由分发到相应的控制器方法进行处理,并将处理结果返回给视图进行展示。 通过使用Element UI和MVC设计模式,我们可以快速构建出功能丰富、易于维护的单页面后台应用。借助Element UI的组件库,我们可以避免重复造轮子的工作,提高开发效率;而采用MVC设计模式可以使应用程序更加灵活、可扩展、易于维护。总之,Element UI和MVC可以使单页面后台开发变得更加简单、高效。 ### 回答2: Element UI是基于Vue.js的一款组件库,提供了丰富的UI组件和交互效果,非常适用于构建后台管理系统。而MVC(Model-View-Controller)模式是一种软件设计模式,可以将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller),实现了业务逻辑与界面显示的分离。 在使用Element UI和MVC模式构建单页面后台时,可以按照如下步骤进行: 1. 首先,搭建Vue.js项目,并引入Element UI组件库。在项目中使用Vue Router来实现路由管理,将整个应用划分为多个页面或者路由组件。 2. 在MVC模式中,模型(Model)负责数据的处理和存储,可以使用Vue.js的数据绑定机制来实现与后台接口的数据交互。可以使用Axios等网络请求库与后端交互,将获取到的数据存储在模型中,并进行相应的逻辑处理。 3. 视图(View)负责界面的显示和用户交互,这里可以使用Element UI提供的各种组件来构建后台管理系统的各个页面。通过Vue指令、事件绑定等方式,实现与模型的数据绑定和交互。 4. 控制器(Controller)负责业务逻辑的处理和数据的传递,可以通过Vue组件之间的通信来实现不同组件之间的数据传递和状态管理。可以使用Vuex来实现集中式的状态管理,方便不同组件之间的数据共享和通信。 通过以上的步骤,结合Element UI和MVC模式,可以构建出一个功能完善、界面友好的单页面后台管理系统。利用Element UI提供的丰富组件和交互效果,可以使系统的界面更加美观和易用。而MVC模式的使用,则可以使系统的代码结构清晰、易于维护,并实现业务逻辑与界面显示的分离,提高系统的可读性和可扩展性。 ### 回答3: Element UI 是一个基于 Vue.js 的桌面端组件库,提供了丰富的 UI 组件和易用性。 MVC(Model-View-Controller)是一种软件设计模式,通过将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分来组织代码,实现了代码的解耦和复用。 单页面后台指的是在一个页面上实现后台管理功能,通过动态切换不同的视图,在同一个页面上进行不同的操作。 结合 Element UI 和 MVC,可以实现一个功能完善的单页面后台。 首先,使用 Element UI 的组件布局后台管理界面,如菜单导航、面包屑导航等,提供用户友好的界面交互。 其次,利用 MVC 的模式,将不同的后台管理功能分为不同的模块或组件,例如用户管理、权限管理、数据统计等。 在模型层(Model),通过定义数据模型和数据访问层,实现数据的增删改查操作,并提供接口供控制器层调用。 在视图层(View),利用 Element UI 的单、格、图等组件,展示数据,提供用户界面。 在控制器层(Controller),处理用户的请求和操作,调用模型层的接口进行数据处理,并更新视图。 通过以上的架构,可以实现一个功能强大、交互友好的单页面后台。用户可以在同一个页面上进行不同的管理操作,通过 Element UI 的组件,界面清晰美观,操作简单方便。同时,MVC 的设计模式使得代码逻辑清晰,各个模块之间的代码耦合度低,易维护和扩展。 总之,Element UI 和 MVC 的结合,可以实现一个高效、可靠、易用的单页面后台应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值