数据库统计查询优化方案
常见的关系型数据库有Oracle、SQLServer、DB2和MySQL等几种,在实际使用过程中,为了减少数据冗余,通常会对原始数据建立相应实体关系,按照最适关系范式进行存储,然后使用SQL语句进行需求查询。
对于复杂且不易频繁变动的数据统计查询,随着原始数据量的增长,为避免前期毫秒出结果,后期服务器宕机的情况出现,除了对SQL语句进行结构优化和修改配置文件配合压力测试外,也可使用以下方案提高查询效率。
1、数据库设计
对整体业务需求进行全局分析,抽离公共查询,借助视图功能对查询过程进行分层处理,如基本表存储原始数据,一级视图基于表查询中间结果,二级视图基于一级视图查询高层级结果,三级或多级视图同上查询更高层级结果。对查询耗时最长,使用频率较高且数据量不多的视图进行转表处理(视图表),并修改高层级视图对该表的使用,从而提高系统整体的查询效率。
2、后端缓存
使用Redis等键值类型的数据库对接口响应结果进行缓存处理,如前端页面默认或高频热点的数据采用长期缓存的方式,条件组合查询的数据采用定时缓存的方式。
3、数据更新处理
当原始数据更新变动时,可结合实际情况对后端缓存进行清空重置,对视图表进行修改或重置处理(truncate+replace into/insert into)。
数据库统计查询优化方案相关推荐
- mysql分页的高效算法_mysql_海量数据库的查询优化及分页算法方案
mysql 海量数据库的查询优化及分页算法方案 文章分类:数据库 转自链 接:http://www.doczj.com/doc/c548420fba1aa8114431d9a4.html/databa ...
- SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路
1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询. 2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库 --a.当查询条件未命中(结果集为空)时,查询冷库. ...
- Mysql数据库千万级数据查询优化方案
Mysql数据库中一个表里有一千多万条数据,怎么快速的查出第900万条后的100条数据? 面试官问:Mysql数据库千万级数据查询优化方案- 首先创建一张表,里面模拟了1000w数据: CREATE ...
- 家族关系查询系统程序设计算法思路_【学习笔记】数据库基础 - 查询优化
目录 什么是数据库查询优化? 影响查询优化的因素 优化策略概述 查询优化的总体思路 语义优化 -- 内容等价性 语法优化(逻辑层优化)---语法等价性 执行优化(物理层优化) 查询优化在DBMS中的位 ...
- mysql慢查询优化方案
文章目录 1. 分页查询优化 2. 最左前缀原则,覆盖索引优化 ①:覆盖索引优化 ②:索引下推优化 like xx% ③:Order by与Group by优化 ④:长字符串前缀索引优化 ⑤:避免小基 ...
- php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...
SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...
- oracle 数据统计收集,Oracle 10g收集数据库统计信息
1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作 ...
- 后端思维之数据库性能优化方案
前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题.如果我们有一套成熟的方法论,能让大家快速.准确的去选择出合适的优化方案,我相 ...
- 8大数据库性能优化方案,YYDS
目录 前言 为什么数据库会慢? 应该站在哪个层面思考优化? 八大方案总结 结束 前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问 ...
最新文章
- 如何在本地访问远程服务器的jupyter notebook?
- 事件相机角点检测,从原理到demo
- (超级详细)numpy与torch用法对比手册
- 七里香飘传来的幸福简单爱
- boost::histogram::make_weighted_profile用法的测试程序
- locustio压力测试
- Property ngOnInit does not exist on type VisibleFocusDirective
- mysql 无论输入什么都是现实 not found_NotAPanda
- Java面试之ArrayList为什么线程不安全?
- window.location.href跳转无效 IE Bug【转载】
- php找不同的数组元素,PHP实现查询两个数组中不同元素的方法
- NB-IoT的优势是什么?
- 精美粉色护士护理PPT模板
- HarmonyOS(鸿蒙)——单击事件
- 蒙特卡洛与遗传算法介绍
- python12岁以内身高随年龄的变化曲线图_2019年最新出炉身高标准表,家有1~12岁的男娃女娃快来看看啦!...
- Mybatis-9.28
- html组态插件_组态 web组态 组态插件 编辑器 工业组态 物联网组态 组态编辑器...
- 一种LCD屏闪问题的调试
- [PyTorch]——DataLoader Num_workers