在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL ...
分类:
数据库 时间:
2020-02-19 11:37:36
阅读次数:
83
经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Li ...
分类:
其他好文 时间:
2020-02-05 11:36:15
阅读次数:
68
前言 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。 参数说明 slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为M ...
分类:
数据库 时间:
2020-02-03 13:27:28
阅读次数:
95
首先ArrayList 底层是数组结构的。数组结构意味着 大数量的增加和删除比较慢,查询会比较快。 期次arrayList不是线程安全的。 继承了AbstractList 和 实现了io list randomAccess serializable等接口 jdk7与jdk8对比 jdk8: Arra ...
分类:
其他好文 时间:
2020-02-02 19:41:22
阅读次数:
75
mysql日志管理 参考https://www.jianshu.com/p/00c54d2832ed 日志设置 工具日志,不同于undo log(事务等) 错误日志(排错、主从错误) log error,默认打开,路径datadir/主机名.err,文本格式,重点关注[ERROR] 慢查询日志(优化 ...
分类:
数据库 时间:
2020-01-31 14:04:40
阅读次数:
110
以MySQL为例 如何定位并优化慢查询Sql? 联合索引的最左匹配原则的成因? 索引是建立得越多越好吗? 一、如何定位并优化慢查询Sql? 根据慢日志定位慢查询sql 使用explain等工具分析sql 修改sql或者尽量让sql走索引 查看mysql变量 SHOW VARIABLES LIKE ' ...
分类:
数据库 时间:
2020-01-25 20:43:38
阅读次数:
106
1. 避免大key 危害: 数据热点问题,集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS高 慢查询问题,服务超时 网卡带宽压力,极端情况下会打满带宽 2.使用优化 过期时间 为大key或者特定业务设置合理过期时间,避免同一时间大量过期。同 ...
分类:
其他好文 时间:
2020-01-22 13:01:58
阅读次数:
62
MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等 1)通用查询日志:记录建立的客户端连接和执行的语句。 2)慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询 (1)通用查询日志 在学习通用日志查询时,需要知道两个数据库中的常用命 ...
分类:
数据库 时间:
2020-01-16 16:03:49
阅读次数:
106
说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据 ...
分类:
数据库 时间:
2020-01-16 10:51:17
阅读次数:
83
1.通过show processlist;或show full processlist;命令查看当前执行的查询 2.杀掉该进程 mysql kill 19 3.通过慢查询日志找到具体的sql语句 开启慢查询: [mysqld] slow_query_log=1 开启慢查询 long_query_ti ...
分类:
数据库 时间:
2020-01-13 20:03:00
阅读次数:
125