sql查询速度太慢怎么优化

今天群里的小伙伴问的问题 在这里分析一下sql查询速度太慢怎么优化

原因分析 后台数据库中数据过多,未做数据优化 数据请求-解析-展示处理不当

网络问题 提高数据库查询的速度方案 SQL 查询速度慢的原因有很多,常见的有以下几种: 1、没有索引或者没有用到索引(查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化

SQL优化 1、恰当地使用索引 必要时建立多级索引,分析执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描; 2、对查询进行优化,尽可能避免全表扫描 首先考WHERE 及ORDER BY涉及列上建立索引 3、数据库表的大字段剥离 假如一个表的字段数有100多个,拆分字段,保证单条记录的数据量很小 4、字段冗余 减少跨库查询或多表连接操作 5、表的拆分 表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区 6、查询时不要返回不需要的行、列 7、减少SQL中函数运算与其它计算 8、升级硬件 9、提高网速 10、扩大服务器的内存 11、增加服务器 CPU个数

代码过程优化 1、缓存,在持久层或持久层之上做缓存 使用ehcache缓存,这个一般用于持久层的缓存,提供持久层、业务层的快速缓存,或其它缓存 2、放弃关系数据库的某些特性,引入NoSQL数据库 3、复杂业务数据通过代码层实现组合

其它 读写分离

从事Java行业多年,有多年的开发经验。如果你正在入门学习Java可以申请加入 。文件我上传了我做Java这几年整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,需要的话你们都可以自行来获取下载。
经验分享 程序员 微信小程序 职场和发展