摘要: 什么是死锁?锁等待?如何优化这类问题?通过数据库哪些表可以监控? 死锁是指两个或多个事务在同一资源上互相占用,并请求加锁时,而导致的恶性循环现象。当多个事务以不同顺序试图加锁同一资源时,就会产生死锁。 锁等待:mysql数据库中,不同session在更新同行数据中,会出现锁等待 重要的三张锁的监控表 阅读全文
posted @ 2019-01-17 20:12 峰哥ge 阅读(1802) 评论(0) 推荐(0) 编辑
摘要: 如何优化一条有问题的sql语句? 针对sql语句的优化。我们可以从如下几个角度去分析 回归到表的设计层面,数据类型选择是否合理 大表碎片的整理是否完善 表的统计信息,是不是准确的 审查表的执行计划,判断字段上面有没有合适的索引 针对索引的选择性,建立合适的索引(就又涉及到大表DDL的操作问题) 我们 阅读全文
posted @ 2019-01-17 20:03 峰哥ge 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 为什么要为innodb表设置自增列做主键? 1.使用自增列做主键,写入顺序是自增的,和B+数叶子节点分裂顺序一致 2.表不指定自增列做主键,同时也没有可以被选为主键的唯一索引,InnoDB就会选择内置的rowid作为主键,写入顺序和rowid增长顺序一致 所以InnoDB表的数据写入顺序能和B+树索 阅读全文
posted @ 2019-01-17 20:03 峰哥ge 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 在MySQL命令行中查看慢查询日志是否打开了: 从上面可以看出没有打开慢查询日志的功能,现在我们打开一下,修改配置文件即可,修改后重启服务器。慢查询还有一个值比较重要,就是知道慢查询的时间: 现在修改为两秒: 现在我们执行一个超过2秒的命令,看看效果: 现在我们查看一下慢查询日志; 阅读全文
posted @ 2019-01-17 19:57 峰哥ge 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 服务器负载过高或者网页打开缓慢,简单说说你的优化思路 ? 首先我们要发现问题的过程,通过操作系统,数据库,程序设计,硬件角度四个维度找到问题所在 找到瓶颈点的位置 制定好优化方案,形成处理问题的体系 体系制定好之后,在测试环境进行优化方案的测试 测试环境如果优化效果很好,再实施到生产环境 做好处理问 阅读全文
posted @ 2019-01-17 16:52 峰哥ge 阅读(885) 评论(0) 推荐(0) 编辑
摘要: MySQL是我们日常生活中常见的数据库,他的innodb存储引擎尤为常见,在事务方面使用的是扁平事务,即要么都执行,要么都回滚。而tidb数据库则使用的是分布式事务。两者都能保证数据的高一致性,但是在实现方式上是不一样的。 我们先来看看MySQL的事务机制,采用redo log机制来保证事务更新的一 阅读全文
posted @ 2019-01-17 15:59 峰哥ge 阅读(5303) 评论(0) 推荐(0) 编辑