随笔分类 - Mysql
摘要:转载自 MySQL死锁如何处理 前提 笔者负责的一个系统最近有新功能上线后突然在预警模块不定时报出MySQL死锁导致事务回滚。幸亏,上游系统采用了异步推送和同步查询结合的方式,感知到推送失败及时进行了补偿。于是,笔者争取了一点时间详细分析了导致死锁的多个事务的执行时序,分析并且得出解决方案。 死锁场
阅读全文
摘要:转载自· MySQL数据库面试题(2020最新版) 数据库基础知识 为什么要使用数据库 数据保存在内存 优点:存取速度快 缺点:数据不能永久保存 数据保存在文件 优点:数据永久保存 缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便 数据保存在数据库 1)数据永久保存 2)使用SQL语句
阅读全文
摘要:转载自 如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持
阅读全文
摘要:转载自 面试官问:如果MySQL引起CPU消耗过大,你会怎么优化 谁在消耗cpu? 用户+系统+IO等待+软硬中断+空闲 祸首是谁? 用户 用户空间CPU消耗,各种逻辑运算 正在进行大量tps 函数/排序/类型转化/逻辑IO访问… 用户空间消耗大量cpu,产生的系统调用是什么?那些函数使用了cpu周
阅读全文
摘要:转载自 Mysql调优你不知道这几点,就太可惜了 一、Mysql的逻辑分层 Mysql分为:连接层、服务层、引擎层、存储层。 当客户端向服务端发起操作请求的时候,执行过程是这样的: 1、客户端端与Mysql服务端的连接层建立连接,根据请求类型去选择相应的服务层的请求接口。 二、SQL优化 1、Ins
阅读全文
摘要:转载自 mysql出现unblock with 'mysqladmin flush-hosts 朋友发来消息,说一个系统应用登录的时候提示连接超时,让帮忙处理一下。 问他应用和数据库是否都正常,回复说数据库好像没有问题,但是应用日志报无法连接数据库。 数据库版本是:5.5.53 让他telnet数据
阅读全文
摘要:转载自 MySQL主从数据库配置和常见问题 本篇主要介绍MySQL的主从数据配置方法。 公司运维能力不是太好,数据库最近出了一次问题,导致丢失了一天的数据,并且某个服务宕机一晚上。为了避免再次出现类似问题,我决定添加一个Slave服务器,以避免数据丢失和服务宕机的问题。 MySQL本身就提供了主从备
阅读全文
摘要:转载自 MYSQL 入门全套 MySQL简介 1、什么是数据库 ? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很
阅读全文
摘要:转载自 史上最全MySQL 大表优化方案(长文) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 一、单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万
阅读全文
摘要:转载自 MySQL - InnoDB特性 - Buffer Pool漫谈 缓存管理是DBMS的核心系统,用于管理数据页的访问、刷脏和驱逐;虽然操作系统本身有page cache,但那不是专门为数据库设计的,所以大多数数据库系统都是自己来管理缓存。由于几乎所有的数据页访问都涉及到Buffer Pool
阅读全文
摘要:转载自 select count(*)底层究竟干了啥么? “SELECT COUNT( * ) FROM t” 是个再常见不过的 SQL 需求了。在 MySQL 的使用规范中,我们一般使用事务引擎 InnoDB 作为(一般业务)表的存储引擎,在此前提下,COUNT( * )操作的时间复杂度为 O(N
阅读全文
摘要:转载自 MySQL 中的重做日志,回滚日志以及二进制日志的简单总结 MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general lo
阅读全文
摘要:转载自 mybatis 注解传入 list 集合 这里写一个查询的sql语句 首先看 mapper @SelectProvider(type = SqlModel.class, method = "listDeviceIndex") @Results(value = { @Result(column
阅读全文
摘要:转载自 史上最全的 MySQL 高性能优化实战总结 一、前言 MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询过程,很多的查询优化工作实际上就是遵循一些原则让
阅读全文
摘要:转载自 去 BAT 面试,总结了这 55 道 MySQL 面试题 1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 2、Mysql的技术特点是什么? Mysql数据库软件是一个
阅读全文
摘要:转载自 浅谈MySQL的B树索引与索引优化 MySQL的MyISAM、InnoDB引擎默认均使用B+树索引(查询时都显示为“BTREE”),本文讨论两个问题: 为什么MySQL等主流数据库选择B+树的索引结构? 如何基于索引结构,理解常见的MySQL索引优化思路? 索引结构的选择基于这样一个性质:大
阅读全文
摘要:转载自 为什么MySQL将会是一个更好的NoSQL 前言 MySQL是一个更好的NoSQL数据库。当考虑到NoSQL的使用案例,比如对Key/Value键值存储来讲,MySQL在性能、易用性和稳定性方面更有意义。MySQL毕竟是一款成熟稳定的产品,在互联网上有大量的在线教程,范围从操作到失败案例,从
阅读全文
摘要:转载自 MySQL datediff()函数 MySQL DATEDIFF函数介绍 MySQL DATEDIFF函数计算两个DATE,DATETIME或TIMESTAMP值之间的天数。 MySQL DATEDIFF函数的语法如下: DATEDIFF(date_expression_1,date_ex
阅读全文
摘要:转载自 insert ... on duplicate key update产生death lock死锁原理 前言 编辑 我们在实际业务场景中,经常会有一个这样的需求,插入某条记录,如果已经存在了则更新它如果更新日期或者某些列上的累加操作等,我们肯定会想到使用INSERT ... ON DUPLIC
阅读全文
摘要:转载自 MySQL存储引擎中MyISAM和InnoDB区别 MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类
阅读全文