怎么做sql性能优化?
1个回答
关注
展开全部
您好亲亲,做sql性能优化的方法是:一个优秀开发的必备技能:性能优化,包括:JVM调优、缓存、Sql性能优化等。本文主要讲基于Mysql的索引优化。首先我们需要了解执行一条查询SQL时Mysql的处理过程。其次我们需要知道,我们写的SQL在Mysql的执行顺序是怎么样的?sql的执行顺序对sql的性能优化很有帮助,很重要。在建立复合索引的时候需要考虑到这点。
咨询记录 · 回答于2022-12-15
怎么做sql性能优化?
您好亲亲,做sql性能优化的方法是:一个优秀开发的必备技能:性能优化,包括:JVM调优、缓存、Sql性能优化等。本文主要讲基于Mysql的索引优化。首先我们需要了解执行一条查询SQL时Mysql的处理过程。其次我们需要知道,我们写的SQL在Mysql的执行顺序是怎么样的?sql的执行顺序对sql的性能优化很有帮助,很重要。在建立复合索引的时候需要考虑到这点。
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是随着互联网大数据的兴起,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。
数据库连接泄露是怎么发生的,如何排查
“MySQL数据库连接池泄漏排查 show status like 'Abort%'; 观察,发现Aborted_clients增大意味着有客户端成功建立连接,但是很快就断开连接或者被终止了,这种情况一般发生在网络不稳定的环境中 show variables like '%connec%'; 连接配置参数 客户端没有主动关闭mysql连接mysql_close。
会看执行计划吗?举例
不会的呢亲亲!执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL使用 explain 关键字来查看SQL的执行计划。
查询SELECT * from employee WHERE `name` ='蒋峰1';EXPLAIN SELECT * from employee WHERE `name` ='蒋峰1';
1. 查询SELECT * from employee WHERE `name` ='蒋峰1';2. 查看上述语句的执行计划 加关键字explainEXPLAIN SELECT * from employee WHERE `name` ='蒋峰1'
假设开发人员自己开了一个连接,没关,会怎么样
如果再次连接时,它发现这个串对应的连接池没有关闭,则会重新分配一个连接池。
还有一点就是如果你的数据库含有大量无用连接没有释放的话,会占用数据库很多资源,导致数据库响应变慢,浪费资源。
介绍一下垃圾回收机制
在计算机科学中,垃圾回收是一种自动的内存管理机制。当一个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收。在JavaScript中,局部变量只有在函数的执行过程中存在,而在这个过程中会为局部变量在栈或堆内存上分配相应的空间,以存储它们的值,然后在函数中使用这些变量,直到函数结束。而一旦函数执行结束,局部变量就没有存在必要了,此时javascript就会通过垃圾回收机制自动释放它们所占用的内存空间。
如果让你检查一个人的代码写的好不好,你主要看哪些方面
评判一段代码写得好不好,一般可以从以下几个方面来看:1、代码书写是否符合业界通用规范,如PHP代码要符合PSR系列规范。2、代码是否简洁,一段代码能用一行实现的尽量不要使用两行。3、代码是否可重用,同一个功能尽量不要在多处重复书写。4、代码是否安全,代码是否有考虑一些常见的安全问题和边界问题,如SQL注入、XSS攻击、CSRF攻击等等。5、性能是否好,你写的代码最终是要运行的,如果性能不好,是会影响用户体验的。
开闭原则是啥意思
开闭原则,在面向对象编程领域中,规定“软件中的对象类,模块,函数等等应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。