您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

mysql数据库查询优化的24条建议

时间:2019-10-08 10:30:43  来源:  作者:

MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供一些关于Mysql 数据库查询优化的24条优化建议,仅供参考。

一文看懂mysql数据库查询优化的24条建议

 


Mysql 查询优化

1、使用慢查询日志,找出执行慢的查询。

一文看懂mysql数据库查询优化的24条建议

 

 

2、使用 EXPLAIN 来决定查询功能是否合适。

3、经常测试你的查询,看是否需要做性能优化

性能可能会随着时间的变化而变化。

4、避免在整个表上使用count(*) ,它可能会将整个表锁住。

5、保持查询一致,这样后续类似的查询就能使用查询缓存了。

6、如果合适,用 GROUP BY 代替 DISTINCT。

7、在 WHERE、GROUP BY 和 ORDER BY 的列上加上索引。

8、保证索引简单,不要在同一列上加多个索引。

9、有时,MySQL 会选择错误的索引,这种情况使用 USE INDEX。

一文看懂mysql数据库查询优化的24条建议

 

 

10、使用 SQL_MODE=STRICT 来检查问题。

11、索引字段少于5个时,UNION 操作用 LIMIT,而不是 OR。

12、使用 INSERT ON DUPLICATE KEY 或 INSERT IGNORE 来代替 UPDATE,避免 UPDATE 前需要先 SELECT。

13、使用索引字段和 ORDER BY 来代替 MAX。

14、避免使用 ORDER BY RAND()。

15、LIMIT M,N 在特定场景下会降低查询效率,有节制使用。

16、使用 UNION 来代替 WHERE 子句中的子查询。

17、对 UPDATE 来说,使用 SHARE MODE 来防止排他锁。

18、重启 MySQL 时,记得预热数据库,确保将数据加载到内存,提高查询效率。

19、使用 DROP TABLE ,然后再 CREATE TABLE ,而不是 DELETE FROM ,以删除表中所有数据。

20、最小化你要查询的数据,只获取你需要的数据,通常来说不要使用 *。

21、考虑持久连接,而不是多次建立连接,已减少资源的消耗。

22、基准查询,包括服务器的负载,有时一个简单的查询会影响其他的查询。

23、当服务器的负载增加时,使用SHOW PROCESSLIST来查看慢的/有问题的查询。

24、在存有生产环境数据副本的开发环境中,测试所有可疑的查询。



Tags:数据库查询   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1 简介学习Dash中渲染网页静态表格的常用方法,并在最后的例子中教大家如何配合Dash,简简单单编写一个数据库查询应用~ 还特意在文末藏了惊喜哦!! 2 在Dash中渲染静态表格在Dash...【详细内容】
2021-04-07  Tags: 数据库查询  点击:(267)  评论:(0)  加入收藏
Knoldus Inc.3分钟阅读嘿那里,作为一个技术人员有时我们必须编写数据库的查询,看起来不错,但我们不知道我们写的查询是句法正确的。所以在这个博客中,我们在Apache Calcite的帮...【详细内容】
2021-02-24  Tags: 数据库查询  点击:(409)  评论:(0)  加入收藏
1. 场景描述python环境下需要从greenplum/postgresql中,获取算法执行的数据,但是从数据库中查询出来是数组格式的,算法无法使用,需要转换为dataframe格式。2. 解决方案结合第三...【详细内容】
2020-09-17  Tags: 数据库查询  点击:(81)  评论:(0)  加入收藏
首先应考虑在 where 及 order by 涉及的列上建立索引。下面我们来以一个表中177条数据比较一下,全表扫描与建立索引之后性能的一个比较....【详细内容】
2019-12-10  Tags: 数据库查询  点击:(87)  评论:(0)  加入收藏
在sql当中,有下面这些join类型:(INNER)JOIN:返回两个表中具有匹配值的记录LEFT(OUTER)JOIN:返回左侧表中的所有记录,以及右侧表中的匹配记录...【详细内容】
2019-10-31  Tags: 数据库查询  点击:(134)  评论:(0)  加入收藏
MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供一些关于Mysql 数据库查询优化的24条优化建议,仅供参考。 Mysql 查询优化1、使用慢...【详细内容】
2019-10-08  Tags: 数据库查询  点击:(116)  评论:(0)  加入收藏
一、什么影响了数据库查询速度1.1 影响数据库查询速度的四个因素 1.2 风险分析QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定...【详细内容】
2019-06-19  Tags: 数据库查询  点击:(342)  评论:(0)  加入收藏
▌简易百科推荐
作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。 本文来源:原创投稿 *爱可生...【详细内容】
2021-12-24  爱可生    Tags:MySQL   点击:(7)  评论:(0)  加入收藏
生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章...【详细内容】
2021-12-14  python数据分析    Tags:MySQL记录锁   点击:(18)  评论:(0)  加入收藏
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二...【详细内容】
2021-12-14  linux上的码农    Tags:mysql   点击:(13)  评论:(0)  加入收藏
为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查...【详细内容】
2021-12-09  元宇宙iwemeta    Tags:mysql   点击:(15)  评论:(0)  加入收藏
测试的目的和原因,公司有很多程序员,每个程序员对数据库和表结构都有自己的理解。而且每个程序员的理解往往是以效率考虑。既然都是为了效率考虑,那么我就来测试一下究竟哪种使...【详细内容】
2021-12-08  吴彬的分享    Tags:Mysql数据库   点击:(14)  评论:(0)  加入收藏
当你们考虑项目并发的时候,我在部署环境,当你们在纠结使用ArrayList还是LinkedArrayList的时候,我还是在部署环境。所以啊,技术不止境,我在部环境。今天这篇文章缕一下在同一台服...【详细内容】
2021-12-08  秃头码哥    Tags:MySQL数据库   点击:(17)  评论:(0)  加入收藏
对于数据分析来说,MySQL使用最多的是查询,比如对数据进行排序、分组、去重、汇总及字符串匹配等,如果查询的数据涉及多个表,还需要要对表进行连接,本文就来说说MySQL中常用的查询...【详细内容】
2021-12-06  笨鸟学数据分析    Tags:MySQL   点击:(21)  评论:(0)  加入收藏
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。...【详细内容】
2021-11-24  笨鸟学数据分析    Tags:SQL语句   点击:(23)  评论:(0)  加入收藏
概述以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域...【详细内容】
2021-11-05  Java云海    Tags:分布式锁   点击:(32)  评论:(0)  加入收藏
MySQL的进阶查询 一、 按关键字排序 使用ORDERBY语句来实现排序排序可针对一个或多个字段ASC:升序,默认排序方式 【升序是从小到大】DESC:降序 【降序是从大到小】ORDER BY的...【详细内容】
2021-11-05  Java热点    Tags:SQL语句   点击:(28)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条