1、JVM源码分析之SystemGC完全解读
http://mp.weixin.qq.com/s/V1Y6DIoscTuv7RVlIZgVpw
2、JVM源码分析之堆外内存完全解读
http://mp.weixin.qq.com/s/WgQkXxBJDF7QdTHFFGVypg
3、JVM源码分析之Object.wait/notify(All)完全解读
http://mp.weixin.qq.com/s/4oCEWVrs67aONxEgMaOVFg
4、JDK的sql设计不合理导致的驱……
使用 lsof 查找打开的文件
通过查看打开的文件,了解更多关于系统的信息。了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,作为系统管理员,这将使得您能够作出更好的决策。例如,您不应该卸载具有打开文件的文件系统。使用 lsof,您可以检查打开的文件,并根据需要在卸载之前中止相应的进……
由于SQL问题导致的数据库故障层出不穷,索引问题是SQL问题中出现频率最高的,常见的索引问题包括:无索引,隐式转换,索引创建不合理。
当数据库中出现访问表的SQL没创建索引导致全表扫描,如果表的数据量很大扫描大量的数据,执行效率过慢,占用数据库连接,连接数堆积很快达到数据库的最大连接数设置,新的应用请求将会……
问题描述:用户的数据库发现相同的一条sql 语句,数据量百万级左右,在原来SQL 中执行大概是0.015s,而在云数据库下直接运行是5分左右,执行非常的慢,已经严重的影响了用户使用云数据库使用的信心。
可能原因:为什么在用户的数据库上执行只需要0.015s,而到云数据库后变为了5分?根据经验,很有可能是SQL 的执行计划改……
慢 SQL 的一般排查步骤为:
1.定位慢 SQL;
2.定位性能损耗节点;
3.定位性能损耗原因并处理。
说明:排查过程中,建议通过 MySQL 命令行进行连接:mysql -hIP -PPORT -uUSER -pPASSWORD -c 。请务必加上 “-c”,防止 MySQL 客户端过滤掉注释(默认)从而影响 HINT 的执行。
定位慢 SQL
定位慢 SQL 一般有两种场景……
通过分区字段(shardkey)把一个大表水平拆分到多个数据库,下面给大家介绍下分表的方法:
如何选择分区字段
一旦定好分区字段,就不能轻易修改分区字段,因此开发人员需要提前评估。选择分区字段的时候主要考虑两个维度:
通过该字段能否对数据进行均衡的存储和访问
多个相关联的表能否使用同一个字段。(相同分区字段……
Mysql 数据库作为数据持久化的存储系统,在实际业务中应用广泛。在应用也经常会因为 SQL 遇到各种各样的瓶颈。最常用的 Mysql 引擎是 innodb,索引类型是 B-Tree 索引,增删改查等操作最经常遇到的问题是“查”,查询又以索引为重点。
接下来的内容,安排如下:
介绍索引的工作原理
引用实例具体介绍索引
如何使用 explain……
SQL 优化的基本原则
在MySQL 执行的 SQL 计算称为可下推计算。可下推计算能够减少数据传输,减少网络层的开销,提升 SQL 语句的执行效率。
因此,SQL 语句优化的基本原则为:尽量让更多的计算可下推到 MySQL 上执行。
可下推计算主要包括:
JOIN 连接;
过滤条件,如 WHERE 或 HAVING 中的条件;
聚合计算,如 COUNT,G……
一个简单的对比测试
前面的案例中,c2c_zwdb.t_file_count表只有一个自增id,FFileName字段未加索引的sql执行情况如下:
在上图中,type=all,key=null,rows=33777。该sql未使用索引,是一个效率非常低的全表扫描。如果加上联合查询和其他一些约束条件,数据库会疯狂的消耗内存,并且会影响前端程序的执行。
这时给FFi……
规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。
注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISA……