今天跟大家分享一篇刚哥写的关于数据库优化的文章,这篇文章会教会你面对问题解决的方法,真是很实用,这可是刚哥的经验之谈,感觉不错就分享给你的小伙伴吧!

原因分析

主要原因1:后台数据库中的数据过多,没做数据优化导致后台查询数据很慢

次要原因2:前端数据请求-解析-展示过程处理不当

次要原因3:网络问题所致

那么我们应该怎么做后台数据优化呢?

解决问题

这里总结了几种方案,如何提高数据库查询的速度,大家参考.

1、缓存,在持久层或持久层之上做缓存

使用ehcache缓存,这个一般用于持久层的缓存,提供持久层、业务层的快速缓存,hibenate默认使用的二级缓存就是ehcache;

2、数据库表的大字段剥离

假如一个表的字段数有100多个,学会拆分字段,保证单条记录的数据量很小;

3、恰当地使用索引

必要时建立多级索引,分析MySQL的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描;

4、表的拆分

表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区);

5、字段冗余

减少跨库查询和大表连接操作;,数据通过单个或多个JOB生成出来,减少实时查询;

6、从磁盘上做文章

数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的;

7、放弃关系数据库的某些特性

引入NoSQL数据库;

换种思路存放数据,例如搜索中的倒排表;

干货如下:

1.字段适当添加索引,索引尽量添加数据唯一或是该字段数据量小的字段上

2.where条件中减少null判断

3.避免使用 <> 和 != 操作符

4.条件中的 or 使用union all 来代替

5.尽量少用in / not in / between and,都会导致权标扫描

6.使用exists() 代替 in()

索引添加方法:

1.索引尽量添加数据唯一或是该字段数据量小的字段上

2.过多的索引会降低insert和update的效率

转自:https://www.jianshu.com/p/fea61b518dc4

数据库查询速度优化技巧及解决方案相关推荐

  1. 数据库查询速度优化之解决技巧

    1.对查询进行优化,应尽可能避免全表扫描 首先应考虑在 where 及 order by 涉及的列上建立索引.  下面我们来以一个表中177条数据比较一下,全表扫描与建立索引之后性能的一个比较. 1. ...

  2. 数据库查询速度优化 1 建立索引

    rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cjoe%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C ...

  3. server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法

    SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...

  4. 数据库-SQL Server数据库查询速度慢(连接超时)原因及优化方法

    SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...

  5. 数据库查询性能优化之利器—索引(二)

    数据库查询性能优化之利器-索引(二) 在前面一篇文章中谈到适当地建立索引能够大幅度地提升SQL语句查询速度,然而并不是在什么情况下都适合建立索引,下面来谈一下什么情况下适合建立索引.建立什么样的索引以 ...

  6. mysql500万数据查询速度_是什么影响了数据库查询速度

    一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...

  7. mysql获取查询策略语句_MySQL数据库查询性能优化策略

    优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句. 通过对查询语句的分析,可以了解查询语句的执行 ...

  8. mysql 查看表v空间自增涨_MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能

    一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...

  9. MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能...

    一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...

最新文章

  1. R语言使用ggplot2可视化堆叠条形图,并在堆叠条形图上显示数据值实战
  2. Linux下mysql主从配置
  3. 【poj2187】 Beauty Contest
  4. 如何写python脚本抓取数据并计算_【小工具】利用Python脚本从Gaussian计算结果中提取信息...
  5. b站上java和python视频可以吗_b站有哪些好的java视频?
  6. 【机器学习基础】浅谈为什么L2正则化有效
  7. iservice封装有哪些方法_请问这段Java代码能不能封装成一个方法
  8. Go worker并发模式
  9. 简单计算器 (关于栈的一种应用)
  10. java hibernate unable to read xml_各位大神,这是什么错误啊
  11. Nginx配置静态资源
  12. Educational Codeforces Round 50: F. Relatively Prime Powers(莫比乌斯函数)
  13. FastDFS特性及问题思考
  14. linux 测试网络端口通不通_能否使用一台矢量网络分析仪来控制多台 E5092A 以增加测试端口数?...
  15. 2022机修钳工(中级)特种作业证考试题库模拟考试平台操作
  16. Unity 3D系列 摄像机围绕主角进行旋转、缩放
  17. 使用AVPlayer遇到的那些坑
  18. 06-08 无人机怎么拍摄VR全境图?
  19. RocketMq的perm属性
  20. 云呐数据备份|什么是结构化数据

热门文章

  1. 微信软件服务器在那个国家,安道尔究竟是什么地方?为什么2000万中国人微信地址都选在安道尔...
  2. 技术栈-拓展延伸-redis学习总结
  3. 计算机桌面右下角网络连接的图标不见了,电脑右下角本地连接图标不见了 这种找回方法既简单有轻松...
  4. oracle11监视器,zabbix-使用orabbix来监控oracle11g
  5. Kafka 的简单介绍
  6. Cannot find module ‘webpack‘ Require stack
  7. 分别已知两直线上的两点,求两直线交点
  8. ESP32网络音频播放器软硬件框图
  9. 【技术解读】IPFS的八层技术架构是什么?
  10. codeforces--Build a Contest