Mysql性能优化
文章平均质量分 93
Mysql性能调优
量子物理学
量子物理学是未来的发展方向,尤其是计算机方向的应用。现在的知识能力、学习能力、知识分享能力。人生能走多远,看与谁同行;有多大成就,看有谁指点。技术方向:广度-》深度-》精度。
展开
-
MySQL的日志 - redo log
前言 什么是redolog relaylog的作用 物理日志VS逻辑日志 redolog的组成 redolog的两阶段提交 reldolog日志的刷盘 redolog对事物的支持 redolog和binlog的区别 redolog其他的几个参数 最后前言前面的文章中,我们依次介绍了MySQL的slow query log、binlog、relaylog,如果对这三种log仍然有疑问的话,可以向前翻一翻文章查看。今天我们来聊一聊MySQL中的另外一个重要的日志,它就是redolog。转载 2021-01-06 10:07:13 · 2604 阅读 · 3 评论 -
MySQL底层的存储结构
文章目录:写在前面的话 InnoDB的存储结构 Tablespace 常见的表空间 Segment Extent Page 什么是off-page InnoDB的文件存储格式写在前面的话你有没有想过这样一个问题:我们的数据在MySQL中是如何存放的?它是以什么样的组织方式存放在我们磁盘中的?我们知道,数据是存放在表里面的,在表里面是一行一行存在的。那么这一行一行的数据怎么样在磁盘中存放的呢?表又是如何在磁盘上存放的?读完下面的文章,你就会对这个问题整体的认识。转载 2021-01-06 10:06:39 · 784 阅读 · 0 评论 -
MySQL中varchar类型字段最大长度是多少
背景 字节和字符的区分 为什么是varchar(255)而不是(256) varchar字段最大值是多少 latin1字符集编码下 utf8字符集编码下 utf8mb4字符集编码下 总结背景你是否知道MySQL中的varchar字段类型最大能够存储多少数据?它的最大长度是多少?为什么有时候定义一个varchar(10)的字段可以存储10个汉字,但是不能存储超过10个长度的字母呢?为什么有时候我定义的varchar(10)的字段又存储不了10个汉字呢?为什么很多地方在定义va.转载 2021-01-06 09:46:51 · 3594 阅读 · 0 评论 -
MySQL中的慢查询日志
背景 什么是慢查询日志 如何开启慢查询日志 慢查询日志的参数 如何读懂慢查询日志 慢查询日志文件中的日志 慢查询日志表中的日志 如何分析慢查询日志 总结背景你是否有这样的疑问:我还如何定位当前MySQL数据中的一些执行特别耗时的SQL语句,那些特别慢的SQL都有哪些?我怎么样把他们都给筛选出来呢?MySQL中是否可以记录这些执行特别慢的SQL?MySQL中的慢查询日志就是来满足上面的这些需求而设计的。什么是慢查询日志MySQL中提供了一个记录耗时...转载 2021-01-06 09:46:15 · 471 阅读 · 0 评论 -
MySQL日志之binlog
背景 MySQL中的日志分类 Binlog 验证binlog日志是否开启 开启和关闭binlog日志 如何选择性的开启binlog 开启binlog日志后的效果 binlog日志文件记录的格式 binlog日志文件的大小 如何查看binlog日志的内容 如何使用binlog日志做增量恢复 清理binlog日志文件 最后 背景MySQL中到底有多少种log?你是否经常听别人说什么binlog、binary log、redo log、un转载 2021-01-06 09:45:31 · 481 阅读 · 0 评论 -
mysqldump一致性热备原理剖析
引言在日常数据库运维中,经常要对数据库进行热备。热备的一个关键点是保证数据的一致性,即在备份进行时发生的数据更改,不会在备份结果中出现。mysqldump是实际场景中最常使用的备份工具之一,通过选择合适的选项做备份,mysqldump可以保证数据的一致性,同时尽可能保证进行中的业务不受影响。那么mysqldump是如何实现一致性备份的?以下我将结合mysqldump过程中mysqld生成的general log与mysqldump的源码来解释mysqldump一致性备份的原理。注:以下的实例基转载 2021-01-05 08:46:51 · 369 阅读 · 0 评论 -
Mybatis-Plus的使用小技巧
最近在用 Mybatis-Plus,嗯,真香!!!今天就来说说 Mybatis-Plus 的那些使用技巧1、条件查询(QueryWrapper)如果说,我们需要查询的 SQL 语句如下:SELECT * FROM user_info WHERE age = 20那么对应的代码可以为:QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("age", 20.转载 2020-10-27 08:20:50 · 888 阅读 · 0 评论 -
Sharding-Jdbc之水平分库和读写分离(二)
前言前几天老顾与小伙伴们分享了sharding-jdbc的水平分表功能,今天我们继续分享一些水平分库,以及读写分离的功能,以及如何解决读写延迟问题。小伙伴就继续往下看吧。分库分表业务需求分片规则在做分库分表时,首先要定义好我们的分片规则,从业务逻辑上面要思路清晰。我们基于上一篇文章的案例,继续进行分库:分库规则:根据用户user_id为偶数时将数据添加到course_db1中;为奇数时将数据添加到course_db2中。分表规则:根据课程cid为偶数时将数据添加到course_1中;转载 2020-10-14 08:59:53 · 330 阅读 · 0 评论 -
Sharding-jdbc的实战入门之水平分表(一)
前言上一篇文章中老顾介绍了sharding-jdbc的基本概念,今天老顾就来介绍一下如何使用。经常碰到一些小伙伴的问题,就是我们到达什么量级才会分库分表?分库分表经验值mysql单表经验300W Mysql 可以轻松抗住 600W 数据开始卡,优化可以解决(表结构,索引设计) 800W ~ 1000W 牛逼的DBA 优化都会遇到瓶颈一般MySQL单表1000W左右的数据是可以不需要考虑分表的。当然,除了考虑当前的数据量和性能情况时,我们需要提前考虑系统半年到一年左右的业务增长情况。转载 2020-10-14 08:59:09 · 492 阅读 · 0 评论 -
MySQL Binlog 解析工具 Maxwell 详解
maxwell 简介Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://maxwells-daemon.io)、GitHub(https://github.com/zendesk/ma转载 2020-10-13 15:04:01 · 1421 阅读 · 1 评论 -
DBeaver连接hive、impala、phoenix、HAWQ、redis
企业版具有MongoDB和Redis支持。EE下载我们在社区和企业版上拆分了独立版本。社区版包含与DBeaver 2.x相同的扩展名。企业版=社区版+ NoSQL支持(3.0版中的Cassandra和MongoDB)。社区和企业版都是免费和开源的。新的Cassandra和MongoDB扩展不是开源的(但可以免费使用)。目录一、DBeaver简介二、下载与安装三、连接hive四、连接impala五、连接phoenix六、连接HAWQ七、连接redis ...转载 2020-10-12 10:10:13 · 2152 阅读 · 0 评论 -
SQL优化
案例01 一条SQL引发的“血案”1. 案例说明某大型电商公司数据仓库系统,正常情况下每天0~9点会执行大量作业,生成前一天的业务报表,供管理层分析使用。但某天早晨6点开始,监控人员就频繁收到业务报警,大批业务报表突然出现大面积延迟。原本8点前就应跑出的报表,一直持续到10点仍然没有结果。公司领导非常重视,严令在11点前必须解决问题。DBA紧急介入处理,通过TOP命令查看到某个进程占用了大量资源,杀掉后不久还会再次出现。经与开发人员沟通,这是由于调度机制所致,非正常结束的作业会...转载 2020-08-18 08:34:15 · 589 阅读 · 0 评论 -
MySQL查询优化之explain的深入解析
在分析查询性能时,考虑EXPLAIN关键字同样很管用。EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让查询优化器能够更好的工作。一、MySQL 查询优化器是如何工作的MySQL 查询优化器有几个目标,原创 2020-08-11 09:00:42 · 259 阅读 · 0 评论 -
ShardingSphere 与 Mycat
开源地址:http://shardingsphere.apache.org/index_zh.htmlhttps://shardingsphere.apache.org/document/current/cn/downloads/文章目录Mycat ShardingSphere Sharding-JDBC Sharding-Proxy Sharding-Sidecar 混合架构 总结大家好!我是只谈技术不剪发的 Tony 老师。今天给大家介绍两个非常流行的开源.原创 2020-08-06 12:34:26 · 13501 阅读 · 2 评论 -
分库分表方案
一、数据库瓶颈1、IO瓶颈2、CPU瓶颈二、分库分表1、水平分库2、水平分表3、垂直分库4、垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题1、非partition key的查询问题(水平分库分表,拆分策略为常用的hash法)2、非partition key跨库跨表分页查询问题(水平分库分表,拆分策略为常用的hash法)3、扩容问题(水平分库分表,拆分策略为常用的hash法)六、分库分表总...原创 2020-03-22 21:51:55 · 416 阅读 · 0 评论