引言项目上生产环境最近有个借口查询突然需要45秒左右。了不起看到这个问题很疑惑,什么情况,这个接口之前好像没有出现过任何问题吧。经和运维配合查看,发现是SQL语句问题,有个sql查询脚本执行竟然消耗了40秒,我拿出来自己执行发现亦是如此。sql大致情况就是有个left join了一张表,有10几万数据,使用explain查看,就是这个表执行消耗了近40秒。解 ......
229
0
0
2024-01-18
前不久看了SQL优化的视频,学的时候醍醐灌顶,学完后发现就是在围绕着explain的各个字段讲解,先把学习的知识梳理一下,当然自己还是有很多不会的地方,后期不断完善。sql优化是面试必问的面试点,而 SQL优化主要就是在优化索引。 在学习索引优化之前,需要知道SQL的执行顺序,这里只给结论,深入学习可参考文章:步步深入: mysql 架构总览->查询执 ......
150
0
0
2023-11-02
前言 SQL优化一般步骤 1、通过慢查日志等定位那些执行效率较低的SQL语句 2、explain 分析SQL的执行计划 3、show profile 分析 4、trace 5、确定问题并采用相应的措施 场景分析 例1、最左匹配 例2、隐式转换 例3、大分页 例4、in + order by 例5、范围查询阻断 ......
233
0
0
2023-07-04
一、查询 sql 尽量不要使用select *,而是具体字段 1、反例 SELECT * FROM user 2、正例 SELECT id,username,tel FROM user 3、理由 节省资源、减少网络开销。 可能用到 覆盖索引 ,减少回表,提高查询效率。 注意:为节省时间,下面的样例字段都用*代替了。 二、避免在where子句中使用 ......
224
0
0
2023-06-25
目录介绍:问:比如,现在有个面试官说,现在线上有个SQL执行很慢,你怎么优化?问:慢 SQL 语句的几种常见诱因?问:平时写SQL时该注意什么?有什么经验可谈?问:有哪些影响数据库性能的瓶颈?问:改善SQL性能涉及哪些步骤?问:您如何分析执行计划?问:您如何使用执行计划调整查询?问:什么是Summary advisor,它提供什么类型的信息?问:是什么最有可 ......
223
0
0
2023-04-07
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。本文旨在以开发工程师的角度来解释数据库索引的原理和如何优化慢查询。MySQL索引原理1.索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯 ......
235
0
0
2023-03-26
1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t ......
264
0
0
2023-03-17
作者:胡呈清爱可生 DBA 团队成员,擅长故障分析、性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。什么是ICP(Index Condition Pushdown)ICP全称 Index Conditio ......
326
0
0
2023-01-08
作为一名后端程序员,可以说天天都要跟数据库打交道,不管使用的是 MySQL, Oracle 还是 SQL Server,毫无疑问都逃不开 SQL,所以日常工作中对于 SQL 的性能优化可谓说十分重要。今天阿粉就带大家看一下,每个后端程序员都应该知道的十个提升查询性能的技巧。1、使用 Exists 代替子查询子查询在日常的工作中不可避免一定会使用到,很多时候我 ......
344
0
0
2022-12-31
兄弟们。浅浅的炫个富吧。说出来你们可能不信。手机你们有吗?我有。短信,知道吧?一条一毛钱,我天天发。你敢想吗?所以说,年轻人,有钱是真的好。今天,我们就以短信为话题聊起。短信,它又叫SMS。比如说,你有一张短信表(sms),里面放了各种需要发送的短信信息。sms建表sqlsms表需要注意的是state字段,为0的时候说明这时候短信还未发送。此时还会有一个异步 ......
309
0
0
2022-12-28
同一个数据分析的需求,不同人的SQL代码效率上会差别很大!本文给大家梳理集中效率优化方法,这也是数据岗面试的高频问题哦!快学起来~所有的数据相关工作人员,包括数据开发、数据分析师、数据科学家等,多多少少会使用数据库,我们很多的业务数据也是存放在业务表中。但即使是同一个需求,不同人写出的 SQL 效率上也会有很大差别,而我们在数据岗位面试的时候,也会考察相关的 ......
264
0
0
2022-12-23
SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或<& ......
273
0
0
2022-12-15
MySQL性能最大数据量最大并发数查询耗时0.5秒实施原则数据表设计数据类型避免空值text类型索引优化索引分类优化原则SQL优化分批处理不做列运算避免Select *操作符<>优化OR优化IN优化LIKE优化JOIN优化LIMIT优化其他数据库博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。 ......
313
0
0
2022-12-15
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);操作: 查询条件放到子 ......
271
0
0
2022-12-15
前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。15个SQL优化技巧1. 避免 ......
339
0
0
2022-11-17