08 2020 档案
摘要:首先介绍一下MAT的安装 下载地址:https://eclipse.org/mat/downloads.php 选择自己系统相应的版本下载,下载完得到一个zip文件,解压后双击EXE文件就可以直接使用了 使用jmap得到的.hprof 文件,使用MAT工具打开进行进一步的分析,选择第一个Leak S
阅读全文
摘要:使用监控工具发现内存使用不断增加,则有可能存在内存泄露,内存泄露可以使用jmap工具进行分析。jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等,可以使用jmap生成Heap Dum
阅读全文
摘要:第一步,查询java进程,使用jps命令,我的服务器上只有一个进程号为22625的java进程 第二步,使用top命令查看系统资源的使用情况,使用系统资源最高的也是这个22625进程 第三步,导出指定进程pid所有线程信息 -l的意思是打印所有线程信息,重定向到jvm_22625.log这个文件 第
阅读全文
摘要:先总结一下 uptime,top,free,vmstat,mpstat,netstat,iostat,pidstat,dstat,jstack,jmap,jstat,strace,sar,ps,perf,pstree vmstat 命令 每一秒输出一次,共输出10次,这是一个很综合的命令 r: 运行
阅读全文
摘要:本文转载自https://www.cnblogs.com/baihuitestsoftware/articles/6382733.html jps 查看所有的jvm进程,包括进程ID,进程启动的路径等等。 我自己也用PS,即:ps -ef | grep java jstack 观察jvm中当前所有线
阅读全文
摘要:安装 wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads chmod +x show-busy-java-threads ./show-b
阅读全文
摘要:#distinct: 一旦mysql找到了与行相联合匹配的行,就不再搜索了,极少见 #Using index:这发生在对表的请求列都是同一索引的部分的时候,返回的列数据只使用了索引中的信息,而没有再去访问表中的行记录。是性能高的表现。#using index也叫索引覆盖explain select
阅读全文
摘要:type 这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行。 执行效率排序 #1.system #2.const * mysql能对查询的某部分进行优化并将其转化成一个常量。用于 primary key 或 unique key 的所有列与常数比较时,所以表最多有一个匹配行,读取1次,
阅读全文
摘要:1.simple 简单查询。查询不包含子查询和union,我们碰到的大部分查询都是简单查询。 执行以下sql语句: explain select (select 1 from actor where id = 1) from (select * from film where id = 1 unio
阅读全文
摘要:MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句。 #开启慢SQL日志功能set GLOBAL slow_query_log=on;#慢SQL执行时间阈值,单位(秒) ,1毫秒=0.001#不建议超过300ms,最终结果视情况而定set globa
阅读全文
摘要:执行以下sql: explain select gc.*, g.title from t_goods g , t_goods_cover gc where g.goods_id = gc.goods_id and g.category_id = 44 ; explain 默认第一行出现的表就是驱动表
阅读全文
摘要:首先我们来谈一谈冗余索引会带来的问题: 1.过多的索引降低了写入数据的效率,因为在写入数据时需要更新索引,这样需要花很多的时间。 2.太多的索引增加了查询优化器的选择时间。 3.不合理的使用索引,会大幅占用磁盘空间,因为索引也是需要占用磁盘空间来进行存储的,有时候会存在索引比表数据占用的存储空间还要
阅读全文
摘要:在t_content中建了符合索引 情况一,当排序中出现了索引的左侧列,则允许使用索引排序,且同时支持升序和降序 情况二,在多字段排序中,左侧列必须是升序,且顺序和索引的左右顺序必须一致,否则会走文件排序,文件排序会进行把所有数据扫描一遍,然后进行重新计算排序,类似于全表扫描,甚至效率比全表扫描更低
阅读全文
摘要:1.索引选择性太差,当查询影响行数大于全表的25%的时候,即使创建了索引,但mysql查询优化器还是可能会走全表扫描 2.使用了<>,not in 无法使用索引 3.is null会使用索引,但is not null 不会使用索引 4.在一张表中创建了复合索引,where 子句跳过左侧索引列,直接查
阅读全文

浙公网安备 33010602011771号