常见的关系型数据库有Oracle、SQLServer、DB2和MySQL等几种,在实际使用过程中,为了减少数据冗余,通常会对原始数据建立相应实体关系,按照最适关系范式进行存储,然后使用SQL语句进行需求查询。

对于复杂且不易频繁变动的数据统计查询,随着原始数据量的增长,为避免前期毫秒出结果,后期服务器宕机的情况出现,除了对SQL语句进行结构优化和修改配置文件配合压力测试外,也可使用以下方案提高查询效率。

1、数据库设计

对整体业务需求进行全局分析,抽离公共查询,借助视图功能对查询过程进行分层处理,如基本表存储原始数据,一级视图基于表查询中间结果,二级视图基于一级视图查询高层级结果,三级或多级视图同上查询更高层级结果。对查询耗时最长,使用频率较高且数据量不多的视图进行转表处理(视图表),并修改高层级视图对该表的使用,从而提高系统整体的查询效率。

2、后端缓存

使用Redis等键值类型的数据库对接口响应结果进行缓存处理,如前端页面默认或高频热点的数据采用长期缓存的方式,条件组合查询的数据采用定时缓存的方式。

3、数据更新处理

当原始数据更新变动时,可结合实际情况对后端缓存进行清空重置,对视图表进行修改或重置处理(truncate+replace into/insert into)。

数据库统计查询优化方案相关推荐

  1. mysql分页的高效算法_mysql_海量数据库的查询优化及分页算法方案

    mysql 海量数据库的查询优化及分页算法方案 文章分类:数据库 转自链 接:http://www.doczj.com/doc/c548420fba1aa8114431d9a4.html/databa ...

  2. SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路

    1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询. 2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库 --a.当查询条件未命中(结果集为空)时,查询冷库.   ...

  3. Mysql数据库千万级数据查询优化方案

    Mysql数据库中一个表里有一千多万条数据,怎么快速的查出第900万条后的100条数据? 面试官问:Mysql数据库千万级数据查询优化方案- 首先创建一张表,里面模拟了1000w数据: CREATE ...

  4. 家族关系查询系统程序设计算法思路_【学习笔记】数据库基础 - 查询优化

    目录 什么是数据库查询优化? 影响查询优化的因素 优化策略概述 查询优化的总体思路 语义优化 -- 内容等价性 语法优化(逻辑层优化)---语法等价性 执行优化(物理层优化) 查询优化在DBMS中的位 ...

  5. mysql慢查询优化方案

    文章目录 1. 分页查询优化 2. 最左前缀原则,覆盖索引优化 ①:覆盖索引优化 ②:索引下推优化 like xx% ③:Order by与Group by优化 ④:长字符串前缀索引优化 ⑤:避免小基 ...

  6. php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...

    SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...

  7. oracle 数据统计收集,Oracle 10g收集数据库统计信息

    1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作 ...

  8. 后端思维之数据库性能优化方案

    前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题.如果我们有一套成熟的方法论,能让大家快速.准确的去选择出合适的优化方案,我相 ...

  9. 8大数据库性能优化方案,YYDS

    目录 前言 为什么数据库会慢? 应该站在哪个层面思考优化? 八大方案总结 结束 前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问 ...

最新文章

  1. 如何在本地访问远程服务器的jupyter notebook?
  2. 事件相机角点检测,从原理到demo
  3. (超级详细)numpy与torch用法对比手册
  4. 七里香飘传来的幸福简单爱
  5. boost::histogram::make_weighted_profile用法的测试程序
  6. locustio压力测试
  7. Property ngOnInit does not exist on type VisibleFocusDirective
  8. mysql 无论输入什么都是现实 not found_NotAPanda
  9. Java面试之ArrayList为什么线程不安全?
  10. window.location.href跳转无效 IE Bug【转载】
  11. php找不同的数组元素,PHP实现查询两个数组中不同元素的方法
  12. NB-IoT的优势是什么?
  13. 精美粉色护士护理PPT模板
  14. HarmonyOS(鸿蒙)——单击事件
  15. 蒙特卡洛与遗传算法介绍
  16. python12岁以内身高随年龄的变化曲线图_2019年最新出炉身高标准表,家有1~12岁的男娃女娃快来看看啦!...
  17. Mybatis-9.28
  18. html组态插件_组态 web组态 组态插件 编辑器 工业组态 物联网组态 组态编辑器...
  19. 一种LCD屏闪问题的调试
  20. [PyTorch]——DataLoader Num_workers

热门文章

  1. EVE-NG裸机安装
  2. Win11一键重装系统后如何使用自带的故障检测修复功能
  3. css实现类似朋友圈九宫格缩略图完美展示
  4. python keras安装_Python-PyCharm-Keras的安装
  5. osm 搭建离线地图_Graphhopper OSM地图路径规划导航 离线搭建教程
  6. ArcMap桌面端如何正确加载天地图WMTS服务
  7. Java数组赋值的方法
  8. r语言删除csv中na行_R中去除为NA的行--转载
  9. 阿里p8软测专家耗时一个月整理出,从0基础自学到功能测试再到自动化测试超全学习指南
  10. 经典的进程同步问题详解